Spring概念:
1 开源的轻量级框架
2 一个分层的一站式框架:在javaee三层结构中,每一层都提供不同的解决技术
web层:springMVC
service层:spring的ioc
dao层:spring的jdbcTemplate
3 核心两部分:IOC 控制反转 配置创建类对象
AOP 面向切面编程,扩展功能不是修改源代码的实现
Spring的IOC操作
1 把对象的创建交给spring进行管理
2 ioc操作的两部分:ioc的配置文件方式
ioc的注解方式
IOC的底层原理:(1) xml配置文件
(2) dom4j解决xml
(3) 工厂的设计模式
(4) 反射
spring的bean管理(xml方式)
Bean实例化的方式:
1 在spring里面通过配置文件创建对象
2 bean实例化三种方式实现:(1) 使用类的无参数构造创建(重点) 类里面没有无参数的构造方法,出现异常
(2) 使用静态工厂创建 创建静态的方法,返回类对象
(3) 使用实例工厂创建 创建不是静态的方法,返回类对象
Bean标签常用属性
(1)id属性: 起名称,id属性值名称任意命名,但不能包含特殊符号,根据id的值得到配置对象
(2)class属性: 创建对象所在类的全路径
(3)name属性: 功能和id属性一样,能包含特殊符号,现在基本不用
(4)scope属性: bean的作用范围
属性注入 (在spring框架里支持前两种方式)
1 创建对象时候,向类属性里面设置值
2 属性注入的方式介绍
(1)使用set方法注入
(2)使用有参数构造注入
(3)使用接口注入
IOC和DI区别
(1) IOC:控制反转,把对象创建交给spring进行配置
(2) DI:依赖注入,向类里面的属性中设置值
(3) 关系:依赖注入不能单独存在,需要在IOC基础之上完成操作
Spring的bean管理(注解)
注解介绍
1 代码里面的特殊标记,使用注解可以完成功能
2 注解写法 @注解名称(属性 = 属性值)
3 注解使用在类上面,方法上面和属性上面
注解创建对象
注解注入属性
Spring的AOP操作
AOP的概念:
1 面向切面编程,扩展功能不修改源代码实现
2 采取横向抽取机制,取代了传统纵向继承体系重复性代码
AOP原理:
AOP操作术语
还有下面一些不常用的: