Day01 学习总结
一.SpeingBoot 疾速入门
1.Spring 外围特色
SpringBoot 外围个性:
Spring boot 是一个脚手架,构建于 Spring 框架 (Framework) 根底之上,基于疾速构建理念,提供了主动配置性能,可实现其开箱即用个性(创立完一个根本的我的项目当前,可零配置或者大量配置即可运行咱们的我的项目),其外围次要有如下几个方面:
- 起步依赖(Starter Dependency)- 我的项目创立时底层帮你关联依赖。
- 主动配置(Auto Configuration)。
- 健康检查(Actator)- 监控。
2.SpringBoot 我的项目构造剖析
3.SpringBoot 我的项目构造剖析
SpringBoot 我的项目在启动时,首先基于启动入口类上的注解形容,进行主动配置并扫描指定包以及子包中的类进行加载,而后检测类上是否有 Spring 框架中指定的注解形容(例如 @Component,@Controller,@Service 等)。如果有,则将类交给 Spring 框架中的 BeanFactory 工厂接口的实现类对象,此工厂对象会基于反射创立 Bean 的实例,假如此 Bean 指定了生命周期办法,还会调用生命周期办法。当实例创立当前,Spring 框架还会基于类的作用域形容,将实例存储到不同作用域的容器中。以实现 Bean 对象的迷信利用。
4.SpringBoot 注解解释
@Component
是 Spring 中用于形容 Bean 类的一个注解. 用于通知 Spring 这个类的实咧由 Spirng 创立, 当此对象由 Spring 创立和治理时, 默认将对象贮存到 Bean 池中.
@SpringBootTest
用于通知 Spring 框架, 此测试类交给 spring 治理
@Autowired
注解形容属性, 用于通知 spring 框架为此属性注入一个值?
@Lazy
注解用于形容类, 其目标是通知 Spring 框架此类反对提早加载, 通常配合单例作用域应用.
@Scope
是 spring 中用于定义 Bean 对象作用域的一个注解, 其罕用的价值有如下:
@Scope(“singleton”)整个内存有一份 Bean
实咧, 此实咧何时创立与类的提早加载个性配置无关, 此实咧创立当前, 生命周期会由 Spring 框架治理
@Scope(“Prototype”) 每次都会创立新实咧, 此实咧会在须要创立与 lazy 个性无关, 这个实咧创立当前, 不会交给 spring 治理,spring 能够对其初始化, 但不负责销毁.
@PostConstruct
注解用于形容 Bean 对象生命周期办法中的初始化办法,此办法会在对象的构造方法之后执行(是对象创立当前的初始化)。
@PreDestroy
注解用于形容 Bean 对象生命周期办法中的销毁办法,此办法会在对象销毁之前执行(当作用域为 prototype 时,此办法不会执行)。
4.SpringBoot 创立我的项目及测试
业务测试流程原理剖析:
思考:
(1)@Autowired 注解的利用规定?
(2)@Qualifier 注解的作用是什么?
@Autowired 由 spring 框架定义,用于形容类中属性或相干办法(例如构造方法)。Spring 框架在我的项目运行时如果发现由他治理的 Bean 对象中有应用 @Autowired 注解形容的属性或办法,能够依照指定规定为属性赋值(DI)。其根本规定是:首先要检测容器中是否有与属性或办法参数类型相匹配的对象,如果有并且只有一个则间接注入。其次,如果检测到有多个,还会依照 @Autowired 形容的属性或办法参数名查找是否有名字匹配的对象,有则间接注入,没有则抛出异样。最初,如果咱们有明确要求,必须要注入类型为指定类型,名字为指定名字的对象还能够应用 @Qualifier 注解对其属性或参数进行形容(此注解必须配合 @Autowired 注解应用)。具体过程可参考图 -18 的设计进行自行尝试和实际。