达内笔记-Spring框架介绍-01
1.框架学习建议
--先重点学习如何使用--熟练使用后,了解内部实现原理
2.Spring 框架
1)Spring框架有什么作用Spring框架主要有以下功能
--Spring核心IOC容器
--Spring的AOP应用
--Spring Web MVC框架
--和其他技术整合应用,使用IOC,AOP
主要是为了使用IOC和AOP功能
IOC容器:管理程序中组件,建立组件关系
Servlet-->Service-->Dao
(创建组件对象,建立对象关联)
AOP:可以将一个组件动态切入到其他组件方法中
(可以通过配置将一个共通功能插入到原有一批
组件的方法中)
为什么使用?IOC和AOP机制可以实现组件对象解藕
Spring Web MVC:可以简化开发Web MVC程序,
便于IOC和AOP结合.
=====IOC应用=====
IOC概念
Inversion of Control 控制反转/反向控制
实质上称为控制转移,体现在获取对象的方式发生改变。
由原有new方式使用转换为由Spring创建之后注入使用。
通过Spring配置修改可以改变对象关系.
(控制权转到Spring框架,由Spring配置决定)
Inversion of Control 控制反转/反向控制
实质上称为控制转移,体现在获取对象的方式发生改变。
由原有new方式使用转换为由Spring创建之后注入使用。
通过Spring配置修改可以改变对象关系.
(控制权转到Spring框架,由Spring配置决定)
*a.对象创建方法
*构造器方式
<bean id="" class=""></bean>
静态工厂方法
<bean id="" class="" factory-method=""></bean>
对象工厂方法
<bean id="" factory-bean="" factory-method=""></bean>
*b.对象作用域
对象作用域默认是singleton
(一个容器中只有一个bean对象)
可以通过<bean scope="singleton|prototype">
prototype:每次getBean()返回的是不同对象实例
以后可以扩展为scope="request|session"等
c.指定对象初始化和销毁方法
init-method:用于指定对象初始化方法
(每次对象创建自动调用该方法)
destroy-method:用于指定单例对象销毁方法
(调用AbstractApplicationContext.clos()时触发)
d.指定单例对象创建时机
默认情况下,单例对象是在Spring容器ApplicationContext
创建时自动创建bean对象;非单例是在getBean方法调用
时创建.lazy-init="true"可以将单例对象创建时机推迟
到getBean方法调用时。
2)维护对象关系(Dependency Inject依赖注入,简称DI)
Spring IOC采用注入技术建立对象关联。
注入又分为set注入、构造器注入。
*a.set注入应用
--添加接口类型变量和对应的setxxx方法
--在<bean>定义中指定注入关系
<bean id="" class="">
<property name="属性名" ref="要注入对象的id">
</property>
</bean>
b.构造器注入应用
--添加接口类型变量和带参数构造器
--在<bean>定义中指定注入关系
<bean id="" class="">
<constructor-arg index="第几个参数,从0开始"
ref="要注入对象的id">
</constructor-arg>
</bean>