参考书籍:《Spring in action》
1996年:java bean规范针对java定义了软件组件模型,但不支持事务、安全、分布式计算等企业服务。
1998年: EJB 把java组件的设计理念延伸到服务器端,并提供许多必须得企业级服务。简化了事务、安全等开发,但是在部署描述符和配套代码实现等方面异常复。
2007:Spring框架是以简化JAVA EE应用程序的开发为目标 而创建的。主要的基于POJO的轻量级开发框架。
由Rod Johnson创建。 <expert one-to-one:J2EE design and development>
1.主要特性
1)依赖注入(DI)
对象的依赖关系将由负责协调系统中各个对象的第三方组件在创建对象时设定。依赖关系将被注入到需要他们的对象中去。解决对象与对象之间高度耦合和代码难以测试的问题。
Spring application context全权负责对象的创建和组装。
ClassPathXmlApplicationContext适合XML配置文件声明。
更多资料:《dependency injection》
如: 构造器注入
2)面向切面编程(AOP)
促进应用程序分离关注点。如:系统不同的组件负责一块特定的功能,其中承担着诸如日志、事务管理和安全等系统服务。这些服务通常被称为横向关注点。因为它们跨越系统的多个组件。
AOP使这些服务模块化,并以声明的方式将它们应用到它们需要影响的组件中去。使这些组件更有高内聚性以及更加关注自身业务。
3)模板技术
减少如JDBC等样式代码。。。。
4)面向POJO编程
主要是对EJB的复杂代码而言。。。EJB绑定了很多接口实现规范从而有很多冗余代码。
:::::::::::我们真是站在许多巨人的肩膀上::::::::::::::::::::::::
2. spring框架俯瞰