草庐IT

Bean-IOC

全部标签

spring - 未调用 Spring 单例 bean 的 @PreDestroy 方法

我在beans.xml中定义了一个Springbean,如下所示:[...]bean内部有2个方法,必须在Web应用程序启动和终止之前执行:publicclassBackendBeanimplementsIBackend{privatestaticfinalLoggerLOGGER=LoggerFactory.getLogger(BackendBean.class);@PostConstructpublicvoidinit(){LOGGER.debug("init");}@PreDestroypublicvoiddestroy(){LOGGER.debug("destroy");}}当

java - 如何覆盖 Spring bean 定义但仍然引用被覆盖的 bean?

我正在尝试通过使用我的委托(delegate)服务覆盖原始服务的bean定义来实现委托(delegate)服务提供者。但是,顾名思义,委托(delegate)服务需要对原始服务的引用才能将调用委托(delegate)给。我无法弄清楚如何在使用原始beandef时覆盖bean定义而不会遇到循环引用问题。例如:这可能吗? 最佳答案 对您的问题的简短回答是,您不能有两个同名的bean定义。如果你尝试,一个会隐藏另一个,并且只有一个定义可用。您的问题的示例似乎表明您正在尝试将原始servicebean包装在代理对象中,包装器执行一些前后工作

spring - 使用 Spring Data JPA、Hibernate 和多事务管理器 : No bean named 'transactionManager' is defined

编辑:对于可能对此问题感兴趣的人,我会在问题的末尾提供问题分析和相关解决方案。我正在为使用Spring3.2、Hibernate4.1、SpringDataJPA1.3和ApacheCXF2.5(特别是JAX-RS模块)的Web应用程序配置一个模块。我有以下配置(运行良好,为简洁起见省略了详细信息):@Bean(name="entityManagerFactory")publicLocalContainerEntityManagerFactoryBeangetEntityManagerFactory()throwsSQLException{LocalContainerEntityMan

Spring @Autowireing 与通用工厂构建的 bean

我有一组具有复杂初始化方案的类。基本上,我从需要获取的接口(interface)开始,然后进行大量调用,最终得到一个实现该接口(interface)的对象。为了处理这个问题,我创建了一个工厂类,它可以在给定接口(interface)的情况下生成最终对象。我把这个工厂变成了一个bean,在XML中我指定了我的各种服务bean,通过这个工厂对象实例化,并带有它们将实现的接口(interface)的参数。这很好用,我完全得到了我需要的bean。不幸的是,我想从我的Controller类中访问它们,这些是通过组件扫描发现的。我在这里使用@Autowired,似乎Spring不知道这些是什么类型

spring - 同时使用 JSR-303 和传统 Bean 验证?

是否可以同时使用JSR-303beanvalidation和traditionalvalidation(该类型的单个验证器类)在Spring中?如果是这样,设置它需要什么配置?我已经尝试了reference上的说明.@InitBinderprotectedvoidinitBinder(WebDataBinderbinder){binder.setValidator(newDualEntryValidator());}@RequestMapping(value="/dualEntry.htm",method=RequestMethod.POST)publicModelAndViewhan

spring - 使用 Hibernate Validator 验证 double 和 float 值 - bean 验证

我正在寻找一种方法来验证Spring命令bean中的java.lang.Double字段的最大值和最小值(一个值必须位于给定的值范围之间),例如,publicfinalclassWeightBean{@Max(groups={ValidationGroup.class},value=Double.MAX_VALUE,message="somekeyordefaultmessage")@Min(groups={ValidationGroup.class},value=1D,message="somekeyordefaultmessage")privateDoubletxtWeight;/

java - 初始化 bean 的最佳方法是什么?

在spring中,您可以通过使applicationContext.xml调用构造函数来初始化bean,或者您可以在bean上设置属性。两种方法之间的权衡是什么?是拥有一个构造函数更好(它强制要求在一个方法中拥有所需的一切)还是拥有所有属性更好(这使您可以灵活地仅选择性地注入(inject),例如在单元测试时)。什么是权衡(在编写一个使用构造函数来建立其初始状态的bean或使用属性和可能的​​afterProperties()方法之间)? 最佳答案 我不确定是否存在初始化bean的“最佳”方法。我认为两者各有利弊,根据情况,一种或另

java - Spring拒绝bean名称,未指定URL路径

我正在尝试使用注释驱动的Controller配置来注册拦截器。据我所知,我所做的一切都是正确的,但是当我尝试测试拦截器时没有任何反应。在查看日志后,我发现以下内容:2010-04-0420:06:18,231DEBUG[main]support.AbstractAutowireCapableBeanFactory(AbstractAutowireCapableBeanFactory.java:452)-Finishedcreatinginstanceofbean'org.springframework.web.servlet.mvc.annotation.DefaultAnnotati

Spring:Bean属性不可写或具有无效的setter方法

我正在尝试使用Spring,我正在关注这本书:Spring:Adeveloper'snotebook。我收到此错误:“Bean属性‘storeName’不可写或setter方法无效。setter的参数类型与getter的返回类型是否匹配?”..我很迷茫。我有一个实现RentABike的ArrayListRentABike类:importjava.util.*;publicclassArrayListRentABikeimplementsRentABike{privateStringstoreName;finalListbikes=newArrayList();publicArrayLi

java - org.springframework.beans.InvalidPropertyException : Invalid property 'id' of bean class

我不明白为什么我在下面的保存中收到此错误。有什么线索吗?org.springframework.beans.InvalidPropertyException:Invalidproperty'id'ofbeanclass[com.test.DataException]:Getterforproperty'id'threwexception;nestedexceptionisjava.lang.reflect.InvocationTargetException代码try{DataExceptiondataException=newDataException();dataException.