Spring自动装配和Bean的作用域

Spring的三种配置方案

1.XML

2.Annotation

3.javaConfig


注解装配Bean 

组件扫描 :Srping在上下文中找到bean

自动装配 :自动满足bean之间的依赖

过程:

1)、创建可被发现的bean    

2)、为组件扫描的bean命名   -->和类名一致

3)、设置组件扫描的基础包    

4)、通过为bean添加注解实现自动装配

----------------------------------------------------------------------------------


1.扫描我们指定的包

Spring自动装配和Bean的作用域


----------------------------------------------------------------------------------


2.通过以下方式进行注入

Spring自动装配和Bean的作用域

----------------------------------------------------------------------------------


当我们引入第三方jar包的时候,无法使用我们的自动装配方案

可选 1.javaConfig  更加友好便捷  -->  配置代码(不包含业务逻辑)

        2.xml              繁琐


----------------------------------------------------------------------------------


JavaConfigBean

两种注入方式


Spring自动装配和Bean的作用域


----------------------------------------------------------------------------------


XML装配方式

两种注入方式

Spring自动装配和Bean的作用域


----------------------------------------------------------------------------------

Spring 注解


@Autowired 自动装配成员变量

@Qualifier:    注释指定注入Bean的ID

------------------------------------------------------

@Component定义一个Bean

@Controller:  控制器

@Service :      定义一个service

@Repository: 自动装配成员变量

------------------------------------------------------

@Scope 自动装配成员变量


----------------------------------------------------------------------------------


Bean 的作用域

单例 (singleton)  :  整个应用中只有一个实例   

 value=ConfigurableBeanFactory.SCOPE_SINGLETON

多例 (prototype) :每次注入或者通过上下文获取是都会创建一个Bean

 value=ConfigurableBeanFactory.SCOPE_PROTOTYPE 

请求 (request)     :每个请求创建一个bean实例

 value=WebApplicationContext.SCOPE_REQUEST

会话 (session)      :为每个会话创建一个bean实例

 value=WebApplicationContext.SCOPE_SESSION