@Component
把普通pojo实例化到spring容器中,可以理解为把类交给spring管理,创建对象,
当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。
@Autowired
表示告诉Spring为这个注解修饰的对象注入值;
@Qualifier
配合@Autowired使用,用于存在多个实现类时的选择
@SpringBootTest
表示springboot的测试类,此注解描述的测试类的位置需要放在测试文件目录下
@Service注解、@Controller注解以及@Repository注解
都是Spring中的注解,加上这些注解的目的是可以区分JavaEE三层架构中的三个不同层次,其目的都是控制反转,将Java对象交给Spring容器创建。@Service注解是标注在实现类上的
持久层、业务层和控制层分别采用 @Repository、@Service 和 @Controller 对分层中的类进行注释,而用 @Component 对那些比较中立的类进行注释。
@Mapper
把mapper这个DAO交給Spring管理 ,不再写mapper映射文件 ,给mapper接口 自动根据一个添加@Mapper注解的接口生成一个实现类
@Test
测试注解;
@Lazy
默认值为falae,表示不使用懒加载,在单例设计模式中,懒加载表示使用进行对象的创建,延迟加载适用于大对象,使用频率低的对象
@Scope(value=“singleton”)
单例作用域,只创建一次,在内存中只有一份通过共享(池)实现对象的可重用性,如果被@Lazy修饰,表示使用时创建,由spring决定何时销毁对象,适用于使用频率高,
@Scope(value=“prototype”)
多例作用域:多例作用域实在需要时创建,可以理解为默认懒加载,每此从容器中获取一个新的对象,适用使用频率低的对象
@PostConstruct//
次注解描述生命周期初始化方法,在构造方法执行之后执行,用于实例一些资源的初始化;
@PreDestroy//
注解用于生命周期销毁方法,用于对象销毁之前