Spring实战(第四版)读书笔记——第一章 Spring之旅

如果有人看的话,劳烦各位不吝指出不足之处,谢谢!

1.1 简化java开发

1.1.2 依赖注入(DI : Dependency Injection)

依赖注入使相互协作的软件组件保持松散耦合。

1.构造器注入(constructor injection)

在构造方法中请求输入一个接口类型的参数,从而使所有实现了这个接口的对象都可以被传入使用。

1.1.3 面向切面编程(AOP: aspect-oriented programming)

把遍布应用各处的功能分离出来形成可重用的组件。

1.1.4 使用模板消除样板代码

使用模板(如:JdbcTemplete)消除繁琐的样板代码(每次都是一个格式,如使用jdbc连接数据库的固定格式代码)。

1.2 容纳你的bean

1.2.1 使用应用上下文

AnnotationConfigApplicationContext :从一个或多个基于 Java 的配置类中加载 Spring 应用上下文。

AnnotationConfigWebApplicationContext :从一个或多个基于 Java 的配置类中加载 Spring Web 应用上下文。

ClassPathXmlApplicationContext :从类路径下的一个或多个 XML 配置文件中加载上下文定义,把应用上下文的定义文件作为类

资源。

FileSystemXmlapplicationcontext :从文件系统下的一个或多个 XML 配置文件中加载上下文定义。

XmlWebApplicationContext :从 Web 应用下的一个或多个 XML 配置文件中加载上下文定义。

1.2.2 Bean的生命周期


1 . Spring 对 bean 进行实例化;

2 . Spring 将值和 bean 的引用注入到 bean 对应的属性中;

3 .如果 bean 实现了 BeanNameAware 接口, Spring 将 bean 的 ID 传递给 setBean-Name() 方法;

4 .如果 bean 实现了 BeanFactoryAware 接口, Spring 将调用 setBeanFactory() 方法,将 BeanFactory 容器实例传入;

5 .如果 bean 实现了 ApplicationContextAware 接口, Spring 将调用 setApplicationContext() 方法,将 bean 所在的应用上下文的

引用传入进来;

6 .如果 bean 实现了 BeanPostProcessor 接口, Spring 将调用它们的 post-ProcessBeforeInitialization() 方法;

7 .如果 bean 实现了 InitializingBean 接口, Spring 将调用它们的 after-PropertiesSet() 方法。类似地,如果 bean 使用 init-

method 声明了初始化方法,该方法也会被调用;

8 .如果 bean 实现了 BeanPostProcessor 接口, Spring 将调用它们的 post-ProcessAfterInitialization() 方法;

9 .此时, bean 已经准备就绪,可以被应用程序使用了,它们将一直驻留在应用上下文中,直到该应用上下文被销毁;

10 .如果 bean 实现了 DisposableBean 接口, Spring 将调用它的 destroy() 接口方法。同样,如果 bean 使用 destroy-method 声明了销

毁方法,该方法也会被调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值