乐趣区

关于springboot:SpringBoot

一. 我的项目启动过程剖析:

SpringBoot 我的项目在启动时, 首先基于启动入口类上的注解形容, 进行主动配置并扫描指定包以及子包中的类进行加载, 而后检测类上是否有 Spring 框架中指定的注解形容, 有的话, 则将类交给 Spring 框架中的 BeanFactroy 工厂接口的实现类对象, 此工厂对象会基于反射创立 Bean 的实例, 如果指定了生命周期办法, 还会调用生命周期办法, 当实例创立了当前,Spring 框架还会基于类的作用域形容, 将实例存储到不同作用域的容器中.

二.Spring 框架中的注解:

@SpringBootApplication 注解形容的类为我的项目的启动入口
@Component 是 Spring 中用于形容 Bean 类的一个注解。@SpringBootTest 注解用于通知 spring 框架, 此测试类交给 spring 治理。@Autowired 注解形容属性时,用于通知 spring 框架要为此属性注入一个值.
@Lazy 注解用于形容类, 其目标是通知 spring 框架此类反对提早加载,通常会配合单例作用域应用,

默认是 true。

@Scope 是 Spring 中用于定义 Bean 对象作用域的一个注解, 其罕用的值有

singleton(整个内存有一份 Bean 实例, 此实例何时创立与类的提早加载个性配置无关,此实例创立当前,生命周期会由 spring 框架治理),prototype(每次获取都会创立新实例,此实例会在须要时创立与 lazy 个性无关,这个实例创立当前,不会交给 spring 治理,spring 能够对其初始化,但不负责销毁。)等。

@PostConstruct 注解用于形容 bean 对象生命周期办法中的初始化办法,此办法会在对象的构造方法之后执行(是对象创立当前的初始化)。@PreDestroy 注解用于形容 Bean 对象生命周期办法中的销毁办法,此办法会在对象销毁之前执行(当作用域为 prototype 时,此办法不会执行)。

三.Spring 框架治理 Bean 对象的劣势:

Spring 框架能够为由它治理的对象 (Bean) 提供懒加载策略(@Lazy), 作用域(@Scope), 生命周期办法(@PostConstruct,@PreDestroy), 以实现对象对系统的无效应用, 同时,Spring 框架还能够基于对象和对象之间的依赖关系, 升高对象和对象之间的耦合性, 进步程序的可维护性和可扩展性.
退出移动版