Spring 就是一个用来解决软件开发过程中类与类之前的耦合性问题的框架。解决的方式通过Ioc和aop。
Spirng的思想:
我们把我们的一个软件比喻成一一台计算机,spring就像计算机中的主板。如果没有主板所有的组件都是焊接在一起的,一旦有一个零件换了就得整台计算机都无法工作。当有了spring后我们的软件中的各个类就像主板上的不同组件,全部都是插在spring的主配置文件上,可以自由的插拔,再也不用去类里面去改了。
.简述扩建发展历史。
在以上换挡框架发展历程行, 自从有了spring加入后, 基本上以后的所有框架都有spring的身影。
配置spirng的三种方式:
下面介绍用xml的方式进行配置:
1. 为bean 设置别名。
2. 使用import 导入其他springxml中的配置。
3.基于构造函数的依赖注入。
4. 为bean注入值得方式。外部bean注入方式。
5.使用neibubean注入。
6.list数据类型值得注入。
7. map数据类型注入值。
8. p 命名空间注入。
9. c命名空间注入,不支持list map 等复杂数据类型
10 改变加载顺序:
11. 懒加载:
12. 单例模式,多例模式:
多线程读写的时候多例存在线程安全的问题。多个线程同时对一个对象进行读写。所以多线程是最好用多例。
13. 实例化bean的三种方式:
使用实例工厂方法,同上,通过serviceFactory类的方法createUserService来创建bean。
14. 自动注入:
14.1 当一个bean在xml配置中加了 autowire参数,则会为其对象属性自动找到填充的值。不用你手动的为期配置ref对象。
14.2 构造器自动注入,为该类的构造方法找到默认的填充值。
例如, 当构造函数是 Person(Wife wife,User user)
必须根据参数的list,在ioc 容器中找到完整实例,并注入,如果少一个都不会注入成功。如以上例子,ioc容器里面必须同时又Wife 和User。
15. 处理多个类型匹配
16. 三种方式实现bean生命周期的回调。
17. 引入外部属性资源文件,即将常量信息放在一个properties文件中,在xml通过$+变量名的方式获取值:
db.propertites 文件内容如下:
18. spring表达时语言SpEL的使用。就是在配置文件中可以写一些逻辑。