SpringInAction读书笔记

一.Spring采用4种策略降低Java开发复杂度

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序制作、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了西区免费建站欢迎大家使用!

基于POJO的轻量级和最小侵入性编程

依赖注入和面向接口实现松耦合

基于切面和惯例进行声明式编程

通过切面和模板减少样板式代码

PS:POJO

POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。

使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其getter setter方法的类,没有业务逻辑,有时可以作为VO(value -object)或dto(Data Transform Object)来使用.当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。

二.依赖注入的三种方式

  1. 接口注入

  2. Setter方法注入

  3. 构造方法注入

具体可参考:http://developer.51cto.com/art/201106/266978.htm

依赖注入:让组件依赖于抽象,当组件要与其他实际对象发生依赖关系时,通过抽象来注入依赖的实际对象。 最大的好处是松耦合。

三.Spring最常用的三种应用上下文

1)ClassPathXmlApplicationContext:从classpath处获取xml文件来加载一个上下文。

2)ClassPathXmlApplicationContext:从文件系统中获取xml文件来加载一个上下文。

3)XmlWebApplicationContext:从web应用获取xml文件来加载一个上下文。

这三个类都是ApplicationContext接口的实现。

使用:

ApplicationContext context = new ClassPathXmlApplicationContext("config.xml");//config.xml在src目录下

ApplicationContext context = new FileSystemXmlApplicationContext("d:/config.xml");

四.Bean的生命周期

传统Java应用中的: new进行实例化,就可以被使用,一旦不被使用,JVM自动回收

Spring容器中的Bean:

实例化,填充属性,(如果实现相应接口就)传BeanID,传BeanFactory容器实例,传应用上下文的引用,调用postProcessBeforeInitialization(),调用afterpropertiesSet(),如果声明了init-method,也调用该方法,调用postProcessAfterInitialization方法。

此时已经可以被应用程序使用,将一直驻留在应用上下文中,直到该应用上下文被销毁。

如果Bean实现了DisosableBean接口,调用destroy()接口方法,如果用destroy-method声明了销毁方法,就调用该方法。


当前文章:SpringInAction读书笔记
浏览路径:http://hbruida.cn/article/pscsho.html