init-method 与afterPropertiesSet 都是在初始化bean的时候执行,执行顺序是afterPropertiesSet
先执行,init-method 后执行,afterPropertiesSet 必须实现 InitializingBean接口
今天遇到一问题,在配置文件中配置了init-method
<bean id="financeAgent" class="com.sumavision.ecommerce.plateform.core.monitor.FinanceAgent"
init-method="initialize" destroy-method="destroy">
<property name="jmsTemplate" ref="jmsTemplate" />
<property name="serviceMap">
<map
value-type="com.sumavision.ecommerce.plateform.core.monitor.FinanceMonitorService">
<entry key="financeManageService"
value-ref="financeManageService" />
<entry key="financeTransactService"
value-ref="financeTransactService" />
</map>
</property>
</bean>
<!-- Jndi -->
<bean id="jndiTemplate"
class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">
weblogic.jndi.WLInitialContextFactory
</prop>
<prop key="java.naming.provider.url">
t3://192.166.68.44:7001
</prop>
<prop key="java.naming.factory.url.pkgs">
weblogic.jndi.factories
</prop>
</props>
</property>
</bean>
<!-- jms sender -->
<bean id="jmsConnectionFactory"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate" ref="jndiTemplate" />
<property name="jndiName" value="ConnectionFactory" />
</bean>
<bean id="jmsQueue"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate" ref="jndiTemplate"></property>
<property name="jndiName" value="Queue"></property>
</bean>
<!-- jms template -->
<bean id="jmsTemplate"
class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="jmsConnectionFactory"></property>
<property name="defaultDestination" ref="jmsQueue"></property>
</bean>
在加载的时候不能执行,找了半天最后发现是因为
<beans default-lazy-init="true"></beans> 配置了延迟初始化,但是有的bean的init-method是可以运行的,具体需要再看下这个
<bean id="tradeAuditService"
class="com.sumavision.ecommerce.plateform.core.audit.impl.TradeAuditServiceImpl"
init-method="initialize">
<property name="auditRuleDAO" ref="AuditRuleDAO"></property>
<property name="negativelyTradeDAO" ref="NegativelyTradeDAO"></property>
<property name="securityServiceManager"
ref="securityServiceManager">
</property>
</bean>
<bean id="tradeAuditServiceProxy" parent="baseTransactionProxy">
<property name="target" ref="tradeAuditService"></property>
<property name="transactionAttributes">
<props>
<prop key="process">
PROPAGATION_REQUIRED,ISOLATION_SERIALIZABLE
</prop>
</props>
</property>
</bean>
这个就起作用了,
分享到:
相关推荐
3、通过spring的xml bean配置或bean注解指定初始化方法,如下面实例的initMethod方法通过@bean注解指定。 销毁的时候实现的方法 1、通过java提供的@PreDestroy注释; 2、通过实现spring提供的DisposableBean接口,并...
bean),即使用普通的“new”运算符创建 bean,然后 spring 进一步控制初始化 bean,替换 @Value 占位符 bean 属性上的值,调用 afterPropertiesSet InitializingBean 类型,注入@Autowired 或@Inject 属性等。...
顺序:@PostConstruct> InitializingBean#afterPropertiesSet方法> initMethod Bean的预设初始化 延迟初始化和非延迟对象的差异:应用之上启动前后BeanInitialDemo Bean的销毁@PreDestroy> Dispo
* @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet() * 创建日期:2012-12-19 * 修改说明: * @author wangk */ @Override public void afterPropertiesSet() throws ...
【资源说明】 1、基于SpringBoot的高并发选课系统源码+项目说明(毕设).zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计...通过上述代码所示,Spring
leke-qqwry leke-qqwry 是一个纯真IP地址库(qqwry.dat...fb.afterPropertiesSet(); IPv4Locator locator = fb.getObject(); IPv4Loc loc = locator.locate("39.184.174.243"); System.out.println(loc); // 浙江省 移动
.1. netty-sekiro 原文 感谢作者。以下是对原作者内容的学习提取 ...服务器端是用Springboot管理各种组件,在Springboot bean(InitializingBean)初始化 afterPropertiesSet完成会启动两个nio服务,分别监听5600
在数据库中创建steam库,然后导入sql文件,修改相应的的配置,关于主从配置请自行百度啦,运行起项目,然后需要把`GameService`类以及`CommentService`类里面的`afterPropertiesSet`方法里面的代码注释掉,这是第一...
在数据库中创建steam库,然后导入sql文件,修改相应的的配置,关于主从配置请自行百度啦,运行起项目,然后需要把`GameService`类以及`CommentService`类里面的`afterPropertiesSet`方法里面的代码注释掉,这是第一...