@Service注解与在XML中配置的区别

需求是在项目启动过程中插一些数据到数据库中,使用的是@PostConstruct注解。有3Service类使用@PostConstruct注解。

但是有2个使用了@PostConstruct注解的方法会被调用,剩余的一个不会。不会被调用的,只要去掉@Service ,然后在XML中配置该service类,这样就又可以调用@PostConstruct注解的方法了。

 

原因:使用@Service注解的service类,如果没有被其他service类调用的话,也就是说没有被spring容器自动依赖注入过,该@Service类将不会被初始化,也就是说在容器初始化的时候,不会初始化该@Service类。如果在XML中配置的话,不管有没有被使用过,都会初始化该@Service


你可能感兴趣的:(xml,@service,@PostConstruct)