A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


【济南校区】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里面获取出来

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马