1.Spring是开源轻量级框架java
2.Spring核心两个部分node
(1)aop:面向切面编程,扩展功能不能修改源代码。web
(2)ioc:控制反转,不须要new对象交给Spring配置。spring
3.Spring是一站式框架编程
Spring在java三层结构中分别提供不一样的解决技术。设计模式
1.把对象的建立交给Spring进行管理数组
2.ioc操做:服务器
(1) ioc配置文件session
(2) ioc注解框架
1.使用技术
(1)xml配置文件
(2)dom4j解析xml
(3)工厂设计模式
(4)反射
2.图解
// 建立saxReader对象 SAXReader reader = new SAXReader(); // 经过read方法读取一个文件 转换成Document对象 Document document = reader.read(new File("src/dom4j/sida.xml")); //获取根节点元素对象 Element node = document.getRootElement(); //遍历全部的元素节点 listNodes(node); // 获取元素节点中,子节点名称为bean元素节点。 Element element = node.element("bean"); //获取element的id属性节点对象 Attribute attr = element.attribute("id"); //获取element的class属性节点对象 Attribute attr = element.attribute("class");
第一步:导入jar包
(1)解压资料zip文件
jar特色:都有三个jar包
(2)作Spring最基本功能的时候,导入核心的四个jar包就能够了。
(3)导入支持日志输出的jar包。
第二步:建立类,在类里面建立方法。
第三步:建立Spring配置文件,配置建立类。
1.Spring 引入schema约束,把约束文件写到eclipse里面。
(1)复制约束的路径
1.在Spring里面经过配置文件建立对象。
2.bean实例化三种方式实现
第一种:使用类的无参数构造建立。
(类里面没有无参构造,则会异常。)
第二种:使用静态工厂建立。
(1)建立静态的方法,返回类对象。
第三种:使用实例化工厂建立。
(1)建立不是静态的方法,返回类对象。
(1)id属性:起名称,id属性值能够任意命名。
(2)class属性:建立类所在的全路径。
(3)name属性:功能和id属性同样,能够使用特殊字符(stuts1遗留问题)
(4)scope属性
建立对象时,向类里的属性设置值。
属性注入方式(三种)
(1)使用set方法注入
(2)使用有参构造方法注入
(3)使用接口方法注入
在Spring框架里面,支持前两种方式。
(1)使用set方法注入
(2)使用有参构造方法注入
1.建立service类和dao类
(1)在service获得dao类
2.具体实现过程
(1)在service里把dao做为类型属性
(2)生成dao类型属性的set方法
(3)配置文件中注入关系
1.数组
2.list集合
3.map集合
4.properties
(1)IOC:控制反转,把对象建立交给Spring。
(2)DI:依赖注入,向类里面属性设置值。
(3)关系:依赖注入不能单独存在,须要在IOC基础之上完成操做。
1.加载spring核心配置文件
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
(1)new对象,功能能够实现,可是效率很低。
2.实现思想:把加载配置文件和建立对象过程,在服务器启动的时候完成。
3.实现原理
(1)ServletContext对象
(2)监听器
(3)具体使用
在服务器启动时候,为每一个项目建立一个ServletContext对象。
在ServletContext对象建立的时候,使用监听器能够监听到ServletContext对象是在何时建立。
使用监听器监听到ServletContext对象建立时候。
加载Spring配置文件,把配置文件里的配置对象进行建立。
把建立出来的对象放到ServletContext域对象里面(setAttribute方法)。
获取对象时候,到ServletContext域获得(getAttribute方法)。