Spring Boot 注解
一. 注解
-
@SpringBootApplication项目的入口类注释(启动类)。
-
@Component , @Controller:类的实例的创建由spring框架负责。
-
@Autowired
为属性注入值。由Spring框架定义,来描述类中的属性和方法。
依赖查找+依赖注入: -
@Lazy
特点:按需加载,何时需要何时加载。
使用场景:使用次数少但占用内存大的对象。
作用:高效、低耗、节省内存资源。
@Scope(singleton)和 @Lazy 配合使用。 -
@Scope:Bean对象作用域
singleton:单例作用域。spring容器内部有一个,整个内存有一份Bean实例,此实例何时创建与类的延迟加载特性配置有关,此实例创建以后,生命周期会由spring框架管理。(频繁使用的对象)
prototype:多例作用域。每次获取都会创建新实例,此实例会在需要时创建,与lazy特性无关,这个实例创建以后,不会交给spring管理,spring可以对其创建和初始化,但不负责生命周期和销毁。(稀少使用的对象)享元模式:享元模式的应用有变量池、连接池(池化思想)。创建完对象后,将对象放到池里面,下次使用对象时直接在池里面拿对象,不需要重新创建。
-
@PostConstruct 注解
用于描述bean对象生命周期方法中的初始化方法,此方法会在对象的构造方法之后执行。
@PostConstruct //构造方法执行后执行此方法,不是必须要设计的
public void init() {
System.out.println(“init”);
} -
@PreDestroy 注解
用于描述Bean对象生命周期方法中的销毁方法,此方法会在对象销毁之前最后执行(当作用域为prototype时,此方法不会执行)。
@PreDestroy
public void destory() { //对象销毁之前做一些事情
//prototype作用域:spring负责创建单不负责销毁
System.out.println(“destory”);
} -
@Qualifier(“weakCache”):配合@Autowired注解一起使用,表示注入类型为指定类型。例如:weakCache类型。