第1章 Spring之旅
1.1 简化Java开发
- Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的 JavaBean实现之前只有EJB才能完成的事情。但Spring不仅仅局限于服务器端开发,任何Java应用都能在简单性、可测试性和松耦合等方面从 Spring中获益。
- Spring竭力避免因自身的API而弄乱你的应用代码。Spring不会强迫你实现Spring规范的接口或继承Spring规范的类,相反,在基于Spring构建 的应用中,它的类通常没有任何痕迹表明你使用了Spring。最坏的场景是,一个类或许会使用Spring注解,但它依旧是POJO。
- 依赖注入,DI-Dependency Injecttion
按照传统的做法,每个对象负责管理与自己相互协作的对象(即它所依赖的对象)的引用,这将会导致高度耦合和难以测试的代码。
依赖注入会将所依赖的关系自动交给目标对象,而不是让对象自己去获取依赖,如下图所示:
- 面向切面编程,AOP-Aspect-Oriented Programming
DI能够让相互协作的软件组件保持松散耦合,而面向切面编程(aspect-oriented