一、对于新的事物,首先要做的就是查看“百度百科”:Spring框架(传送门)
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。
◆目的:解决企业应用开发的复杂性
◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆范围:任何Java应用
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
二、Spring的基础原理
(1)Aop:面向切面编程,指扩展功能不需要修改源代码即可实现
IOC : 控制反转,对象的创建不是通过的new的方式来实现,而是交给spring配置来创建对象
(2)Spring的“一站式”框架
spring在javaee的三层结构中,每一层都提供了不同的解决技术方案
① web层:springMVC技术(替代struts2)
② service层:spring的IOC,负责对象的创建和管理
③ dao层:spring的jdbcTemplate,连接数据库
(3)Spring的IOC
① 把对象的创建交给spring进行管理(原理在下面)
② ioc操作的两种方式
a、ioc的配置文件的方式(xml文件)
b、ioc的注解方式
(4)IOC的底层原理
① xml配置文件(applicationContext.xml)
<bean id="user" class="com.csorpio.cn.User"></bean>
② 工厂设计模式:通过工厂设计模式,用dom4j来解析xml配置文件和反射来创建类的对象
③ dom4j解析xml
④ 反射:通过反射来创建类的对象
Class clazz = Class.forName("com.csorpio.cn.User");
User user = clazz.newInstance();
(5)Spring的bean管理(ioc的操作):bean实例化的三种方式
① 使用类的无参数构造创建(默认是无参数构造方法)
② 使用静态工厂创建
③ 使用实例工厂创建
(6)<bean>标签常用的4种属性
① id :唯一标识符
② class:需要创建对象的类的全路径
③ name:作用同 id
④ scope:1)singleton:该值为默认值,无论创建多少实例对象,对象的地址一样,即为同一对象
2)prototype:创建多个对象,地址不同,即为多种不同对象
(7)属性注入:通过xml配置创建对象时进行属性注入的三种方式
① set 注入
② 有参构造方法注入
③ 使用接口注入(注:实现该接口中的有参方法来达到参数注入值的目的)