JavaEE - 7 Spring中Bean的管理

视频:黑马程序员 7001 BeanFactory接口_哔哩哔哩_bilibili

目录

 Spring IoC容器

BeanFactory接口

ApplicationContext接口

 Bean的配置

 Bean的实例化

构造方法实例化

​编辑

静态工厂实例化

实例工厂实例化

 Bean的作用域

Bean的装配方式

XML

注解

Bean的生命周期


JavaEE - 7 Spring中Bean的管理_第1张图片

 Spring IoC容器

BeanFactory接口

JavaEE - 7 Spring中Bean的管理_第2张图片

 BeanFactory默认是第一次获取对象时创建对象

ApplicationContext接口

JavaEE - 7 Spring中Bean的管理_第3张图片

ApplicationContext可以在创建容器的时候就会创建对象,有错误就会报错,提升了程序获取Bean的性能;而BeanFactory在使用对象的时候才创建 才会报错,报错可能延迟

JavaEE - 7 Spring中Bean的管理_第4张图片

 Bean的配置

JavaEE - 7 Spring中Bean的管理_第5张图片

 JavaEE - 7 Spring中Bean的管理_第6张图片

 Bean的实例化

构造方法实例化

JavaEE - 7 Spring中Bean的管理_第7张图片

JavaEE - 7 Spring中Bean的管理_第8张图片

JavaEE - 7 Spring中Bean的管理_第9张图片

 

静态工厂实例化

接口类的构建只能通过该方法

JavaEE - 7 Spring中Bean的管理_第10张图片

JavaEE - 7 Spring中Bean的管理_第11张图片

JavaEE - 7 Spring中Bean的管理_第12张图片

JavaEE - 7 Spring中Bean的管理_第13张图片

 

实例工厂实例化

JavaEE - 7 Spring中Bean的管理_第14张图片

JavaEE - 7 Spring中Bean的管理_第15张图片

 Bean的作用域

JavaEE - 7 Spring中Bean的管理_第16张图片 

Bean的装配方式

XML

IoC控制反转:对象的创建和销毁交给spring容器

DI依赖注入:给对象的属性赋值

1. setter注入

JavaEE - 7 Spring中Bean的管理_第17张图片 

2.  构造注入

 

注解

JavaEE - 7 Spring中Bean的管理_第18张图片

创建对象(控制反转):

  • web层对象创建:@Controller
  • Service层:@Service
  • dao层:@Repository
  • 非上述三层的对象:@Component

依赖注入:

  • 给基本类型的属性赋值:@Value
  • 给引用类型的而属性赋值:@Resource(通过name属性执行一个Bean的唯一标识)                                                         @Autowired(自动根据类型进行注入,不需通过name属性)
  • @Qualifier:与 @Autowired 来联合使用,基于自动装配情况下,若一个类型有多个对象

JavaEE - 7 Spring中Bean的管理_第19张图片

 

JavaEE - 7 Spring中Bean的管理_第20张图片JavaEE - 7 Spring中Bean的管理_第21张图片

JavaEE - 7 Spring中Bean的管理_第22张图片

JavaEE - 7 Spring中Bean的管理_第23张图片

JavaEE - 7 Spring中Bean的管理_第24张图片

下面的 @Resource 中的name必须来自上面 @Repository("userDao"),必须一致

JavaEE - 7 Spring中Bean的管理_第25张图片

JavaEE - 7 Spring中Bean的管理_第26张图片JavaEE - 7 Spring中Bean的管理_第27张图片

Bean的生命周期

JavaEE - 7 Spring中Bean的管理_第28张图片

 JavaEE - 7 Spring中Bean的管理_第29张图片

 JavaEE - 7 Spring中Bean的管理_第30张图片

JavaEE - 7 Spring中Bean的管理_第31张图片

 

 

你可能感兴趣的:(JavaEE,spring,java-ee,java)