springboot普通类使用Service疑问


@Component  
public class Utils {

    /**
     * 工具类注入依赖
     */
    @Autowired
    private Service service;
    private static Utils utils;

    @PostConstruct
    public void init() {
        utils = this;
        utils.service = this.service;
    }

   //返回一个字符串
    public static String test(){
        return utis.service.get();
    }
	
    //直接在这里调用,会报空指针错误
    public static void main(String[] args) {
        System.out.println(utis.service.get());
    }

}

 

我直接在本工具类的mian方法测试,会报空指针错误。但是我在Service调用Utils.test()方法,不报错,运行正确。不知道哪里出问题了?

@PostConstruct 只有spring在启动的时候会执行到这里
 

而main方法并不会执行,utis就是空对象,.service.get() 就会报空指针

@Component  
public class Utils {
    /**
     * 工具类注入依赖
     */
    @Autowired
    private Service service;
    private static Utils utils;

    @PostConstruct
    public void init() {
        utils = this;
        utils.service = this.service;
    }

   //返回一个字符串
    public static String test(){
        return utis.service.get();
    }
	
    //改为这样 手动创建对象,并赋值给成员变量
    public static void main(String[] args) {
        Utils utils = new Utils();
        Service service = new Service();
        utils.service = service;
        System.out.println(utis.service.get());
    }
}