草庐IT

Bean注解

全部标签

java - 从带有注解的 Spring 2.5 中的 AOP 建议访问 HttpServletRequest

我试图在Spring论坛和搜索StackOverflow上找到这个问题的答案。我发现很多页面描述了糟糕的架构并要求与我做同样的事情,但我的预期用途不同所以请多多包涵:-)我有一个使用基于注释的表单Controller的Spring2.5项目,基本上是这样的:@RequestMapping("/edit/someObject")publicStringhandleSubmit(HttpServletRequestrequest,HttpServletResponseresponse,SomeObjectsomeObject,BindingResultresult){//Somecheck

java - Spring:使用基于注解的配置注入(inject)原始值(属性)的构造函数

我正在尝试在Spring3中使用基于注解的配置来配置一个类,它将原始值作为其构造函数参数:@ComponentclassMyBean{MyBean(Stringarg1,Stringarg2){//...}}像这样的应用上下文:我试图找到一些方法来指定构造函数参数应该从属性文件中获取。显然这确实适用于采用常规bean的构造函数(例如MyClass(Beanbean1,OtherBeanbean2)),但只是属性?我还尝试使用Spring3的@Value注释和值的EL表达式来注释构造函数参数,例如@Value("#{prop.Prop1}")arg1,但这似乎也不起作用。

java - JPA+Hibernate+@Transactional注解的spring事务支持的奇怪行为

我在相对简单的用例上发现了非常奇怪的行为,可能因为对spring@Transactional性质的了解不深,我无法理解它,但这很有趣。我有一个简单的用户dao,它扩展了springJpaDaoSupport类并包含标准保存方法:@TransactionalpublicUsersave(Useruser){getJpaTemplate().persist(user);returnuser;}如果在我向同一个类添加新方法之前工作正常:UsergetSuperUser(),此方法应该返回isAdmin==true的用户,如果数据库中没有super用户,方法应该创建一个。这就是它的样子:pub

java - 在自己的线程中运行的 Spring Bean

在我的Web应用程序中,我尝试使用JavaSDK7WatchService创建一个目录轮询bean。我想要实现的是在它自己的线程中运行这个bean,这样它就不会阻塞应用程序。像这样的东西: 最佳答案 恐怕您将不得不使用Spring手动创建此线程:WatchServiceRunnableWrapper很简单:publicclassWatchServiceRunnableWrapperimplementsRunnable{privateWatchServiceWatchService;publicWatchServiceRunnable

java - 如果我在配置类上使用 @ActiveProfiles 注释而不是在定义我的 bean 的类上使用它,在 Spring 中会发生什么?

我正在学习SpringCore认证,我对将profiles用于JUnit测试有一些疑问。所以我知道如果我用下面的方式注释一个类:@Profile("stub")@RepositorypublicclassStubAccountRepositoryimplementsAccountRepository{privateLoggerlogger=Logger.getLogger(StubAccountRepository.class);privateMapaccountsByCreditCard=newHashMap();/***Createsasingletestaccountwithtw

java - 使用泛型通过上下文获取 spring bean

我有一堆实现类型Repository的存储库bean.现在我可以从用户那里得到一个随机节点列表,我想为每个节点获得适当的存储库。自Spring4.0RC1我们可以像这样Autowiring存储库:@AutowiredRepositorysomeNodeRepository;记录在案here.这很好用,但我的问题是如何根据通用类型动态地执行此操作。我想做的是:publicTsaveNode(Tnode){Repositoryrepository=ctx.getBean(Repository.class,node.getClass());returnrepository.save(node

java - 为什么 checkNotNull() 没有注解 @Nonnull

我发现guava中的checkNotNull()前提条件没有用@Nonull注释标记,这很不方便。考虑以下示例:State(Setmodels,Setvariations){this.models=checkNotNull(models);this.variations=checkNotNull(variations);if(this.variations==null){thrownewIllegalArgumentException();}this.engine=createEngine();}因此IDE无法发现variations==null始终为false。是否有任何特殊原因导致

java - Spring,使用@Configuration 和@Bean 注解

我有一个代码:@ConfigurationpublicclassBeanSample{@Bean(destroyMethod="stop")publicSomeBeansomeBean()throwsException{returnnewSomeBean("somebeanname1");}classSomeBean{Stringname;publicSomeBean(Stringname){this.name=name;}publicvoidstop(){System.out.println("stop");}}publicstaticvoidmain(String[]args)th

java - hibernate validator 。如何使用@Valid 注解?

@Valid注解放在方法参数层的目的是什么?publicvoid(@ValidPersonp){...}我创建了一个测试,并向该方法传递了一个无效对象,但没有任何反应。我希望得到一个异常(exception)。 最佳答案 对象上的@Valid注释指示验证框架处理带注释的对象。当用于方法的参数时,这称为方法级别验证。请注意,方法级验证不是核心规范的一部分,实际上只有当BeanValidation集成到容器类型框架(JSF、CDI、JavaEE).当BeanValidation集成到这样的支持容器中时,会发生这样的情况,即在bean上调

java - 在静态方法中使用注入(inject)的 bean 的正确方法是什么?

这个问题可能看起来有点奇怪。假设我有一个服务,我想在具有一些静态方法的实用程序类中使用它。该服务是一个Springbean,因此我自然会使用setter和(@Autowired)将其注入(inject)到我的实用程序类中。正如Spring的文档中所提到的,所有bean在bean上下文中都是静态的。所以当你想在类中注入(inject)一个bean时,你不必使用“static”修饰符。见下文:publicclassJustAClass{privateServiceservice;publicvoidaMethod(){service.doSomething(....);}@Autowire