记录:在实体类中加入@Component注解和@Autowired注解时Service不能注入成功。

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 @Component //把普通pojo实例化到spring容器中 0   public class MyUtil{       // 这里是需要注入的Service ①      @Autowired       private MyService myService;       private static MyUtil myUtil;       //初始化 ②       @PostConstruct        public void init() {                      myUtil = this ;                myUtil.myService = this .myService;        }         //调用 ③        public static void insertParam( int id){                // 调用方法 ④ myUtil.myService.testInsert( "xxx" );        }   }

注释:0 将普通pojo实例化到容器中、如果无注解myUtil为null
          ① spring自动注入,如果在静态方法中调用此注入类的方法,发现注入为'null';这里不是因为spring未注入,而是被static方法给'清空'了,在无法先于static方法初始化时可以使用@PostConstruct进行初始化。
   (注:@PostConstruct修饰的方法会在服务器加载Servle的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。)

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

           ②使用@PostConstruct注解的方法public void init()先给该类赋值,然后通过@Autowired注入进来。这样不会影响dao等service下面调用的注入。
   ③ static方法
   ④ 调用方法 myService现在是作为myUtil的属性

 

参考

记录:在实体类中加入@Component注解和@Autowired注解时Service不能注入成功。

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 @Component //把普通pojo实例化到spring容器中 0   public class MyUtil{       // 这里是需要注入的Service ①      @Autowired       private MyService myService;       private static MyUtil myUtil;       //初始化 ②       @PostConstruct        public void init() {                      myUtil = this ;                myUtil.myService = this .myService;        }         //调用 ③        public static void insertParam( int id){                // 调用方法 ④ myUtil.myService.testInsert( "xxx" );        }   }

注释:0 将普通pojo实例化到容器中、如果无注解myUtil为null
          ① spring自动注入,如果在静态方法中调用此注入类的方法,发现注入为'null';这里不是因为spring未注入,而是被static方法给'清空'了,在无法先于static方法初始化时可以使用@PostConstruct进行初始化。
   (注:@PostConstruct修饰的方法会在服务器加载Servle的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。)

           ②使用@PostConstruct注解的方法public void init()先给该类赋值,然后通过@Autowired注入进来。这样不会影响dao等service下面调用的注入。
   ③ static方法
   ④ 调用方法 myService现在是作为myUtil的属性

 

参考

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄