10、Spring

具体参考:Spring常见问题总结 | JavaGuide

Bean的生命周期

1、通过BeanDifinition 定义Bean

2、构造方法推断,选出一个构造方法

3、实例化,构造方法方法反射得到对象

4、属性填充,给属性进行自动填充

5、初始化,对其他属性赋值、校验

6、初始化后,AOP、生成代理对象。

 

 

Spring 实现单例的方式:

  • xml:<bean id="userService" class="top.snailclimb.UserService" scope="singleton"/>``

  • 注解:@Scope(value = "singleton")

SprigBoot的自动配置原理

@Configuration(允许在上下文中注册额外的 bean 或导入其他配置类)、

@ComponentScan(扫描启动类所在的包下所有的类)

@EnableAutoConfiguration开启自动装配,通过 SpringFactoriesLoader 最终加载META-INF/spring.factories中的自动配置类实现自动装配,自动配置类其实就是通过@Conditional按需加载的配置类,想要其生效必须引入spring-boot-starter-xxx包实现起步依赖

Spring、SpringMVC、SpringBoot、SpringCloud

spring是一个bean的管理容器,核心是IOC和AOP

spring MVC 是基于Spring的一个 MVC 框架 ,MVC分别是模型、控制、视图,实现了逻辑、视图、数据的代码层逻辑结构。主要处理web开发的路径映射和视图渲染,属于spring框架中WEB层开发的一部分。

springBoot是spring的一个快速开发包,为了简化开发,可快速整合其他的框架得力于starter机制。使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置。提供了一堆依赖打包,习惯大于约定

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。

SpringCloud

Hystrix熔断器;Config分布式配置中心;GateWay网关、Eureka微服务治理、bus消息总线、负载均衡Ribbon

 

Spring:ApplicationContext和BeanFactory有什么区别

BeanFactory是Spring中非常核心的组件,表示Bean工厂,用于生成bean

而ApplicationContext继承了BeanFactory,所以ApplicationContext拥有BeanFactory的所有特点,也是bean工厂。同时还具有获取环境变量、国际化、事件发布等功能

 

 

Spring中Bean的作用域?

在spring中bean交给了IOC进行管理,那么bean有不一样的作用域

来源说明
singleton 默认Spring Bean作用域,一个BeanFactory有且仅有一个实例
prototype 原型作用域,每次依赖查找和依赖注入生成新Bean对象,每一次去ioc容器中获取bean的时候,都会有一个新的实例对象。
request 在web应用中,将Spring Bean存储在ServletRequest上下文中,每一次http请求,都会创建一个新的bean
session

在web应用中,将Spring Bean存储在HttpSession中,同一个session会有同一个bean的实例

application 在web应用中,将Spring Bean存储在ServletContext中,是全局session共享同一个bean实例。

 

posted @ 2022-05-29 11:03  jason饼干大怪兽  阅读(35)  评论(0)    收藏  举报