1、接口及面向接口编程
2、什么是IOC
3、Spring的Bean配置
4、Bean的初始化
5、Spring的常用注入方式
(一)接口
- 用于沟通的中介物的抽象化
- 实体把自己提供给我外接的一种抽象化说明,用以由内部操作分离出外部沟通方式,使其被修改内部而不应现外接其他实体与其交互的方式
- 对应java接口即声明,声明了哪些方法是对外公开提供的
- 在Java8中,接口可以拥有方法体(在某种意义上,接口与抽象类具有相同的功能)
(二)面向接口编程
- 结构设计中,分清层次及调用关系,每层只向外(上层)提供一组功能接口,各层间仅依赖接口而非实现类
- 接口实现的变动不影响各层间的调用,这一点在公共服务中尤为重要
- “面向接口编程”中的“接口”是用于隐藏具体实现和实现多态性的组件
(三)IOC
- IOC:控制反转,控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护
- DI(依赖注入)是其一种实现方式
- 目的:创建对象并且组装对象之间的关系
PS:哪些方面的控制被反转了呢?
获得依赖对象的过程被反转了,控制反转之后,获取依赖对象的过程由自身管理变成了有IOC容器自动注入(依赖注入)
所谓依赖注入:就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中(四)Spring的bean配置
(五)Bean的初始化
- 基础包:
-- org.springframework.beans
-- org.springframework.context -- BeanFactory提供配置结构和基础功能,加载并初始化Bean -- ApplicationContext保存了Bean对象并在Spring中被广泛使用- 方式,ApplicationContext
-- 本地文件
-- ClassPath -- Web应用中依赖的servlet或Listener
示例:
- 文件
FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext("C:/spring/spring-ioc.xml");
- Classpath
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring-ioc.xml");
- Web应用
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>context</servlet-name> <servlet-class>org.springframework.web.context.ContextLoaderListener</servlet-class> <load-on-startup>1</load-on-startup> </servlet>(六)Spring注入
- Spring注入是指再启动Spring容器加载Bean配置的时候,完成对变量的赋值行为
- 常用的注入方式
- 设值注入
- 构造注入