目录
一、Spring核心
1.AOP:面向切面编程
-扩展功能不是修改源代码实现。
2.IOC:控制反转
-比如有一个类,类里面有方法(非静态方法),正常情况想要使该类的方法就必须new一个对象再调用方法。如果放入IOC容器中后Spring会自动配置创建对象。
二、Spring是一站式框架
Spring在javaEE三层结构中,每一层都提供了解决技术。
-web层:SpringMVC
-service层:Spring的IOC
-dao层:jdbcTemplate
三、Spring的IOC操作
1.把对象的创建交给Spring来操作。
2.IOC操作两种方式:
-IOC配置文件方式
-IOC注解方式
3.IOC底层原理使用技术
(1)xml配置
(2)dom4j解决xml
(3)工厂设计模式
(4)反射
四、Spring对Bean实例化的三种方式(创建对象)
第一种 使用类的无参数构造创建(重点)
类里面没有无参数的构造,出现异常
第二种 使用静态工厂创建
(1)创建静态的方法,返回类对象
第三种 使用实例工厂创建
(1)创建不是静态的方法,返回类对象
五、Bean标签常用属性
(1)id属性:起名称,id属性值名称任意命名
- id属性值,不能包含特殊符号
- 根据id值得到配置对象
(2)class属性:创建对象所在类的全路径
(3)name属性:功能和id属性一样的,id属性值不能包含特殊符号,但是在name属性值里面可以包含特殊符号
(4)scope属性
- singleton:默认值,单例
- prototype:多例
- request:创建对象把对象放到request域里面
- session:创建对象把对象放到session域里面
- globalSession:创建对象把对象放到globalSession里面
六、IOC和DI区别
(1)IOC: 控制反转,把对象创建交给spring进行配置
(2)DI: 依赖注入,向类里面的属性中设置值
(3)关系:依赖注入不能单独存在,需要在ioc基础之上完成操作
七、Spring整合web项目原理
1 加载spring核心配置文件,
2 实现思想:把加载配置文件和创建对象过程,在服务器启动时候完成
3 实现原理
(1)ServletContext对象
(2)监听器
具体使用:
- 在服务器启动时候,为每个项目创建一个ServletContext对象
- 在ServletContext对象创建时候,使用监听器可以具体到ServletContext对象在什么时候创建
- 使用监听器监听到ServletContext对象创建时候,
-- 加载spring配置文件,把配置文件配置对象创建
-- 把创建出来的对象放到ServletContext域对象里面(setAttribute方法)
-- 获取对象时候,到ServletContext域得到 (getAttribute方法)