Spring基础
一.Spring基础
- Spring概念?
Spring是一个开源的,用来简化企业级应用开发的应用开发框架。 - Spring优点:
1)简化开发
Spring框架对于常用的一些API做了封装(比如,对jdbc的api就做了一些封装,直接使用jdbc访问数据库,比较繁琐,使用springjdbc访问数据库,就很简洁,比如不用考虑如何获取连接和关闭连接等)。
2)管理对象
Spring框架可以帮我们管理对象之间的依赖关系,这样一来,模块之间的耦合度会大大降低,方便软件的维护。
3)集成其他框架
Spring框架可以将其他的一些框架集成进来(比如,可以将定时任务处理框架Quartz集成进来)。
二.Spring容器
Spring容器是什么?
Spring容器是框架当中的一个核心模块,用来管理对象。启动Spring容器
step1.导包;
step2.添加配置文件;
step3.启动容器。创建对象
方式一:利用无参构造器
step1.为类添加无参构造器(或缺省构造器);
step2.在配置文件当中,使用这个元素来配置;
step3.启动容器,然后调用getBean()这个方法。
方式二:静态工厂方法(了解);
方式三:实例工厂方法(了解)。生命周期的管理
1)初始化
容器在创建实例之后,会调用该实例的初始化方法
2)销毁
容器在关闭之前,会调用该实例的销毁方法。作用域
1)默认情况下,对于每一个bean元素,只会创建一个实例。
2)如果作用域为prototype,则每调用一次getBean方法,就会创建一个新的对象。延迟加载
1)默认情况下,容器启动之后,会将所有作用域为singleton的bean先创建好。
2)可以设置lazy-init=true,容器启动之后,就不再对作用域为singleton
的bean进行创建相应的实例了。
三.IOC(Inversion Of Controll 控制反转)
IOC是什么?
对象之间的依赖关系由容器来建立。DI是什么?(Dependency Injection 依赖注入)
容器通过调用对象提供的set方法或者其构造器来建立对象之间的
依赖关系。
注:IOC是目标,而DI是手段。-
依赖注入的两种方式
1)set方法注入
step1. 添加相应的set方法。
step2. 在配置文件当中,使用元素来配置依赖注入的关系。2)构造器注入
step1. 添加相应的构造器。
step2. 在配置文件当中,使用元素来配置依赖注入的关系。 自动装配
1)什么是自动装配?
容器依据某些规则,自动建立对象之间的依赖关系。
注:默认情况下,容器不会自动装配。可以通过设置
autowire属性值来告诉容器依赖某些规则来自动装配。
2)autowire有三个值:注入基本类型的值
注入集合类型的值
Spring表达式
1)spring表达式的作用:经常用来读取其它bean的属性值。
2)语法
四.使用注解来简化配置
什么是组件扫描?
容器启动之后,会扫描指定包及其子包下面的所有的类,如果该类
添加有一些特殊的注解(比如@Component),则容器会将其纳入容器
进行管理(相当于配置有一个bean元素)。编程步骤
step1. 在配置文件当中,添加组件扫描的配置。
step2. 在类名前,添加一些特定的注解依赖注入相关的注解
1)@Autowired和@Qualifier
支持set方法和构造器注入。
2)@Resource
只支持set方法注入。value注解
1)注入基本类型的值
2)注入spring表达式的值