Day01
1.spring 框架构成
核心部分 IOC(控制反转) : 基础部分 整个spring框架的基石
Spring DAO : Spring 对 jdbc 的支持
Spring web Mvc : spring 规范web mvc的开发 后期还要集成其它框架
Spring AOP : 面向切面编程
Spring ORM :(对象关系映射) spring 集成 MyBatis 后期还有 hibernate
Spring JEE : 远程调用 邮件 等
2.Spring IOC (Inversion of control 控制反转 )
控制反转的意思是 :程序中的对象 由原来的 new 的方式 转换成 由框架来创建 和 注入, 这样做 可以降低对象之间的耦合度。
3.什么Spring 容器
任何java类 都可以看成一个 bean 组件,然后通过容器 管理和使用组件。
Spring 容器 :实现了 IOC 和 AOP 机制
Spring 容器 :有两种实现 ApplicationContext 和 BeanFactory
推荐使用 ApplicationContext
4. 使用Spring 容器的使用步骤
4.1 建立一个项目 导入Spring IOC的jar包
4.2 导入Spring 容器 对应的配置文件 ****.xml 到 src下
4.3 在配置文件中 编写组件说明
4.4 构建Spring 容器 获取对应的组件
5.Spring 容器创建对象的三种方式
5.1 构造器方式 (默认调用无参的构造)
5.2 静态工厂方法
5.3 实例化工厂的方式
7.Bean 对象的作用域
只要在bean 标签 加 scope 属性 默认scope 是 singleton 代表对象是单例的
也可以指定成 prototype 代表对象是 非单例的
其它的作用域 在 web 部分中使用 如 request session 等
8.对象的初始化
在beans 标签中 加 default-init-method="初始化方法名" 由于这个标签中 影响的范围比较大 所以如果一个类型中没有定义这个方法 也不会报错。
在bean 标签中 加 init-method="初始化方法名" 由于这个标签影响的范围小所以类型中没有定义这个方法则报错。
9.对象销毁之前调用的方法
在beans 标签中 加 default-destroy-method="销毁方法名" 由于这个标签中 影响的范围比较大 所以如果一个类型中没有定义这个方法 也不会报错。
在bean 标签中 加 destroy-method="销毁方法名" 由于这个标签影响的范围 小 所以类型中没有定义这个方法则报错。
10. bean 对象的延迟实例化
bean 对象 默认在容器启动时就创建对象 可以通过 lazy-init="true" 将对象的创建推迟到 第一次请求对象时创建 默认 lazy-init 是 default 就是 false。
default-lazy-init 这个在beans 标签中使用