关闭

spring之旅

73人阅读 评论(0) 收藏 举报
分类:

1.1简化Java开发

为了简化java开发的复杂性,spring采用了一下四种关键策略:

a)基于POJO(plain old java object)的轻量级和最小侵入性编程。

比如说,许多框架比如struts通过强迫应用继承它们的类或实现它们的接口从而导致应用与框架绑定,但Spring不会,相反,在基于spring构建的应用中,它 的类通常不会有任何痕迹表明你使用了Spring。最坏的场景也是一个类或许用了spring注解,但它依旧是POJO.

b)通过依赖注入和面向接口实现松耦合。

耦合具有两面性。一方面,紧密耦合的代码难以测试,难以复用,难以理解,而且很容易出现“打地鼠”bug(修复一个bug,会出现一个或者更多的bug);另一 方面,一定的程度的耦合又是必须的。因此,耦合是必须的,但必须谨慎管理。

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

DI(dependency injection)能够让相互的协作的软件组件保持松散耦合,而面向切面编程(aspect-oriented programing,AOP)允许你把遍布应用各处的功能分离 出来形成可复用的组件。诸如日志、事物管理、安全这样的系统服务。

d)通过切面和模板消除样板式代码。

最典型的例子就是JDBC,里面的建立数据库连接、语句对象等等样板式代码,而我们的关注点应该是业务代码,而不是这些繁琐重复的样板式代码。

1.2 容纳你的bean

在基于spring的应用中,你的应用对象生存与spring容器(container中,spring容器负责创建对象,装配它们,配置它们并管理它们的整个生命周期。

spring容器不只有一个。自带了多个容器实现,可以归为两种类型。

a)BeanFactory(org.springframework.beans.factory.BeanFactory接口定义)是最简单的容器,提供了基本的DI支持。

b)ApplicationContext(org.springframework.context.Application接口定义)基于BeanFactory构建.

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

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

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

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

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

bean的生命周期

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:705次
    • 积分:104
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章分类