Spring实战——Spring之旅

Spring的使命:简化Java开发
Spring 中的组件:任意形式的POJO或叫做JavaBean

Spring关键策略
  • 基于POJO的轻量级和最小侵入性编程(即一个类在Spring应用或非Spring应用中都发挥同样的作用)
  • 通过依赖注入和面向接口实现松耦合
  • 基于切面和惯例进行声明式编程
  • 通过切面和模板减少样板式代码
注入(DI)与装配

按照传统的做法,每个对象负责管理与自己协作(或叫依赖)的对象,导致高耦合。

  • 依赖注入
    会将所依赖的对象自动交给目标对象,而不是让目标对象去取。

  • 装配
    即告知Spring各组件间的依赖关系。常见的装配方式:xml、JavaConfig、自动装配

AOP

系统中可能有多个模块会用到日志、安全控制的服务,若将相关代码写到每个模块中去,则会带来如下麻烦

  • 如需改动,则每个调用点都要修改
  • 模块会因这些与业务无关的代码而变得混乱

有了AOP后,只需将它们在适当的地方声明为切面即可

Spring容器

我们在XML、JavaConfig中配置了bean和切面,那么这些文件如何加载?加载到哪里?答案是Spring容器

Spring容器负责创建bean、装配bean、存储bean及管理bean整个生命周期

Spring容器可分为两种类型

  • bean工厂:更受欢迎
  • 应用上下文:应用上下文有很多类型,例如从文件系统中或类路径中加载应用上下文等(不同类型的上下文获取只是各个构造函数的参数不同,即查找路径不同)。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 依赖注入 按照传统的做法,每个对象负责管理与自己相互协作的对象的引用,这将会导致高度耦合和难以测试的代码。例如: ...
    谢随安阅读 569评论 0 0
  • 本章内容: 声明Bean 构造器注入和Setter方法注入 装配Bean 控制bean的创建和销毁 任何一个成功的...
    谢随安阅读 1,666评论 0 9
  • 本来是准备看一看Spring源码的。然后在知乎上看到来一个帖子,说有一群**自己连Spring官方文档都没有完全读...
    此鱼不得水阅读 6,952评论 4 21
  • 参考W3C Spring教程 Spring致力于J2EE应用的各种解决方案,而不仅仅专注于某一层解决方案。可以说S...
    王侦阅读 1,188评论 0 6
  • Spring的两个核心特性,也就是依赖注入(dependency injection,DI)和面向切面编程 (as...
    lxtyp阅读 302评论 0 0