【济南校区】JavaEE就业笔记串讲---Spring_part1
Spring概念 1 spring是轻量级开源框架 2 spring是一站式框架 (1)针对javaee三层结构 Web层: springMVC Service层:spring的ioc Dao层:spring的jdbcTemplate 3 spring核心有两部分: (1)ioc: - 控制反转: - 之前操作,有一个类,调用类里面的方法(不是静态方法),创建类对象,使用对象调用的方法实现 - 在spring把创建对象过程,不在代码里面实现,而是交给spring进行配置实现 (2)aop: - 面向切面: - 扩展功能,不修改源代码,通过配置方式实现 4 spring的版本 (1)spring4.x IOC底层原理 1 ioc:把对象的创建,不是在代码中new操作,而是通过spring进行配置创建。 2 底层原理 (1)xml配置文件+dom4j+工厂设计模式+反射 3 dao模式 (1)data access object:数据访问对象 (2)创建接口,创建接口对应实现类 Spring的IOC入门 第一步导入spring的jar包 在jar包在libs目录里面 (1)只是使用spring的基本功能,只需要四个jar包 (2)spring支持的日志的jar包 第二步创建类,在类创建方法 (1)原始方式 第三步创建spring配置文件 (1)一般建议把文件放到src下面,名称随便写 建议 applicationContext.xml (2)在配置中,引入约束,在spring阶段是schema约束 (3)在配置文件中配置对象创建 第四步测试操作 (1)写spring代码实现获取配置的对象(不要求重点掌握,只是用在测试中) (2)解析spring配置文件得到对象,这个过程不需要写代码实现,在spring封装对象进行这些操作,这个 ApplicationContext实现 解决配置文件没有提示 1 可以上网 2 手动把schema约束文件引入到eclipse中 Spring的bean管理 1 创建对象不需要new代码实现,而是交给spring进行配置完成 2 spring进行bean管理有两种方式: (1)第一种 使用配置文件方式实现 (2)第二种 使用注解方式实现 Bean实例化三种方式 第一种使用无参构造(重点) 1 创建对象时候,调用类里面的无参数的构造方法实现 (1)写法 第二种使用静态工厂 1 静态工厂: (1)创建工厂类,在工厂类提供静态的方法,这个方法返回类对象 (2)调用工厂类的方法时候,直接使用类名.方法名称可以调用 第三种使用实例工厂 1 实例工厂 (1)创建工厂类,在工厂类里面提供普通的方法,这个方法返回类对象 (2)调用工厂类的方法时候,创建工厂类对象,使用对象调用方法 Spring配置文件bean标签常用的属性 1 id属性:根据id属性值得到配置对象, (1)id属性值不能相同的 (2)id属性值不能有特殊符号 2 class属性:要创建对象的类的全路径 3 scope属性: (1)singleton:创建对象是单例,默认值 (2)prototype:创建对象是多实例 (3)request:创建对象之后,把对象放到request域 (4)session:创建对象之后,把对象放到session域 (5)globalSession:创建对象之后,把对象放到globalSession里面 4 name属性 (1)name属性功能和id属性一样的 (2)name属性和id属性区别: - 在id属性值里面不能特殊符号 - 在name属性值里面可以添加特殊符号 属性注入的方式 第一种 set方法注入 第二种方式有参数构造注入 第三种方式接口注入 1 在spring里面支持前两种方式 (1)set方法注入 (2)有参数构造注 Spring的有参数构造注入 Spring使用set方法注入(重点) 1 在类定义属性,生成set方法 2 在配置文件中,使用bean标签创建对象,在bean标签里面使用property标签注入属性 Spring注入对象属性 1 提交表单到action里面,在action调用service的方法,在service调用dao的方法 (1)在service调用dao里面的方法 - 在servcie里面创建dao对象实现调用 2 原始实现方式 3 spring操作 (1)最终目的:在service里面得到dao对象 (2)具体实现 第一步让dao作为service的一个属性 第二步生成dao属性的set方法 第三步进行配置和注入 p名称空间注入 1 在schema约束位置定义p名称空间 2 在配置中进行注入 注入复杂属性 1 注入属性类型数组 2 注入属性类型list集合 3 注入属性类型set集合 4 注入属性类型map集合 5 注入属性类型Properties类型 Ioc和di区别 1 IOC: 控制反转 (1)把对象的创建交给spring进行管理 2 DI: 依赖注入 (1)创建对象过程中,向类里面的属性中设置值 3 ioc和di关系: (1)依赖注入不能单独存在,在控制反转基础之上完成 (2)注入类里面属性值,不能直接注入,创建类的对象再完成注入 ApplicationContext和BeanFactory 1 使用这两个对象都可以加载spring配置文件,创建配置文件中对象 2 区别: (1)使用applicationContext把spring里面的配置文件都进行创建 (2)BeanFactory对象创建在调用getBean方法时候进行创建 Spring整合web项目原理 1 在开发中,使用ssh进行开发,struts2、spring、hibernate。 2 创建spring配置文件,使用applicationContext加载配置文件,创建对象 (1)在开发中,一般不会直接写applicationContext代码加载配置文件 3 整合思想: (1)在服务器启动时候,加载spring配置文件,创建对象 4 实现底层原理 (1)使用对象ServletContext对象 (2)使用监听器 (3)实现过程: - 在服务器启动时候,每个项目中创建一个对象ServletContext,每个项目只有一个ServletContext对象 - 在ServletContext对象创建时候,使用监听器可以监听到。 -- 监听到servletContext对象创建,做事情: *** 加载spring配置文件,把配置文件中对象创建 *** 对象创建之后,放到ServletContext里面 -- 使用创建对象,从ServletContext里面获取出来
|