一,Spring的概念 (4.x版本)
1,spring是一个开源的轻量级框架(免费,源码公开,不需要依赖过多其它工具)
2,spring核心的两部分:
(1),aop : 面向切面编程-----------扩展功能 不是修改源代码来实现
(2),ioc : 控制反转---------创建类对象,不是通过new来实现,而是通过spring配置来创建
3,spring是一站式框架
spring在javaee三层结构中,每一层都提供不同的解决技术
-----Web层 : springMVC
-----Service层: spring的ioc
-----Dao层: spring的jdbcTemplate
二,Spring的IOC介绍
1,作用: 将对象的创建交给spring进行管理
2,ioc操作的两部分:
(1), 配置文件方式
(2), 注解方式
三,IOC底层原理
1,底层技术
(1), xml配置文件
(2), dom4j解析
(3), 工厂设计模式
(4), 反射
2,对比分析(以及ioc的底层实现原理)
核心:解决耦合度过高的问题,符合高内聚,低耦合的思想
传统方案: new对象,一改全改
改良方案:(工厂设计模式): 通过工厂模式获得类对象,工厂与业务类建立了新的耦合
现代方案: ioc(修改类名,包名时,修改相应的xml配置文件就行)
第一步: 创建xml配置文件,配置要创建的对象类
<bean id="UserService" class="com.zhuo.service.UserService">
第二步: 创建工厂类,使用dom4j解析xml文件+反射,获得类对象
public class Factory{ public static UserService getUserService(){ //dom4j解析,通过id值获得class值 String classvalue = "class属性值" //使用反射获得字节码文件 Class claz = Class.forName(classvalue); //创建类对象 UserService us = claz.newInstance(); return us; } }
四,IOC入门案例
1,导jar包(基本包,日志包)
2,创建类
3,创建xml配置文件(引入xml约束,在文档中找)
4,使用spring内置对象和方法创建类对象
//获得文件路径
ApplicationContext context = new ClassPathXmlApplicationContext("");
//创建类对象
User user = (User)context.getBean("id");
5,解决配置文件没有提示的问题
原文地址:http://12684329.blog.51cto.com/12674329/1906243