Spring 学习笔记
Spring是什么
spring 是一个开源的设计层面框架
是解决业务逻辑层和其他各层的松耦合问题
是一个分层的javaSE/EE full-stack(一站式)轻量级开源框架
特点:
方便解耦,简化开发
AOP编程的支持
声明事务的支持
方便程序的测试
方便集成各种优秀框架
降低javaEE API的使用
java源码是经典学习范例
什么是IOC
IOC:inversion of Control(控制反转)
将对象的创建权反转,交给Spring
传统开发模式
1.底层业务要修改源代码
2.通过工厂可以实现,接口与实现业务的分离
3.在工厂内部使用配置文件加载
IOC与DI:
依赖注入:
1.前提必须有IOC的环境
2.Spring管理这个类的时候才能将类的依赖的属性值注入(设置)进来
3.依赖注入:给spring管理类当中依赖的属性,通过配置文件进行赋值的过程
传统方式
@Test public void save(){ UserDao dao = new UserDaoMysqlImpl(); //使用面向接口编程没有办法设置属性值 dao.name = "myxq"; }
DI方式
实现类当中的属性要提供set方法
在配置文件当中配置依赖注入
<bean id="userDao"class="com.myxq.dao.UserDaoMysqlImpl"> //name是要注入属性的名称 //value:注入(赋值)值 //属性:要提供set方法 <property name="name" value="myxq"/> </bean>
Spring得到工厂类BeanFactory
- 老版本使用方式
- 当调用getBean的时候才会创建实例对象
ApplicationContext
- 新版本使用方式
- 当加载配置文件时候就会创建实例对象
ApplicationContext实现类
- ClassPathXmlApplicationContext---加载类路径下的配置文件
new ClassPathXmlApplicationContext("applicationContext.xml")
- ClassPathXmlApplicationContext---加载类路径下的配置文件
FileSystemXmlApplicationContext---加载文件系统下的配置文件
new FileSystemXmlApplicationContext("D:\\applicationContext.xml")