河北邯郸网站制作福建网站建建设
Spring
网站:spring.io
 两个方面:
 简化开发:
- IoC
 - AOP
 
框架整合:
- MyBatis
 
SpringFrameWork系统架构(上层依赖下层)

 解决问题(代码耦合度高——模块与模块之间的依赖程度)
 目标:充分解耦
 解决方案:使用对象时,在程序中不要主动使用new产生对 象,转换为由外部(核心容器:core container)提供对象
- IoC(Inversion of Control)控制反转:对象的创建控制权由程序转移到外部,这种思想称为控制反转
 - DI(Dependency Injection)依赖注入:在容器中建立bean与bean之间得依赖关系得整个过程,称为依赖注入
 - bean:IoC容器中创建或者管理的对象
 - bean(IoC容器中创建或者管理的对象)别名配置:name——》定义bean得别名,可定义多个,使用逗号(,)分号(;)空格( )分隔
 - bean的作用范围是单例的,需要用scope = "prototype"可以使用多个对象
 - 合适交给容器进行管理的bean(单例对象):表现层对象,数据层对象,业务层对象,工具对象
 - 不合适交给容器进行管理的bean(需要多例对象):封装实体的域对象
 
<bean id="bookDao" name="book1 book2 book3" class="com.src.impl.BookServiceImpl"/>
 
实例化bean
1、构造方法(常用),无参构造方法如果不存在,将抛出异常BeanCreationException
<bean id="bookDao" class="com.src.dao.impl.BookDaoImpl"/>
 
2、静态工厂
<bean id="bookDao" class="com.src.factory.OrderDaoFactory" factory-metod="getOrderDao"/>
 
3、实例工厂.先造出工程实例对象
<bean id="userFactory" class="com.src.factory.userDaoFactory"/>
<bean id="userDao" factory-method="getUserDao" factory-bean="userFactory">
 
4、FactoryBean实例化(使用泛型)
 
bean的生命周期
初始化容器
 1.创建对象〔内存分配)
 2.执行构造方法
 3.执行属性注入( set操作)
 4.执行bean初始化方法
 使用bean
 1.执行业务操作
 关闭/销毁容器
 1.执行bean销毁方法

 
