@Service、@Repository、@Controller、@Component都是将组件放到spring中进行管理
@Component注解表示带注解的类是一个“组件”,在类路径扫描时,这个类就是自动检测的候选类。
区别时@Service通常用于持久层,@Repository用于业务层、@Controller用于控制层
而文中工具类不属于任何一层,则可以使用@Component注入到spring中
相当于在xml文件中
4.2@PostConstuct
@PostConstuct修饰的方法会在服务器加载servlet的时候运行
那么要将A对象注入到B对象,就要先生成A对象
如果B类中某个成员变量a被@Autowired标注,@Autowired发生在B的构造方法执行完后自动注入
所以如果未加@PostConstruct注解,当前工具类就会先执行工具类的构造函数再去执行@Autowired,此时注入的对象已被容器销毁,自然注入时会出现null
类的构造函数再去执行@Autowired,此时注入的对象已被容器销毁,自然注入时会出现null
@PostConstruct注解的方法则是将注入的对象由静态对象进行管理,所以要将要注入的对象改为静态对象,程序启动时在Spring Bean初始化时执行并保留,防止被释放



