《Spring In Action》读书笔记

来源:互联网 发布:百度云限速脚本 知乎 编辑:程序博客网 时间:2024/05/21 08:49

2017年12月16日

第一章 Spring之旅

为了降低Java开发的复杂性,Spring采取了一下4中关键策略:

  • 基于POJO的轻量级和最小侵入性编程
  • 通过依赖注入和面向接口实现松耦合
  • 基于切面和惯例进行声明式编程
  • 通过切面和模板减少样板式代码
Spring自带了多种类型的应用上下文。下面罗列的是几个是你最有可能遇到的。
  • AnnotationConfigApplicationContext:从一个或多个基于Java的配置类中加载Spring应用上下文。
  • AnnotationConfigWebApplicationContext:从一个或多个基于Java的配置类中加载Spring应用上下文。
  • ClassPathXmlApplicaitonContext:从类路径下的一个活多个XML配置文件中加载上下文定义,把应用上下文的定义文件作为类资源
  • FileSystemXmlApplicaitonContext:从文件系统下的一个或多个XML配置文件中加载上下文定义。
  • XmlWebApplicationContext:从Web应用下的一个或多个XML配置文件中加载上下文定义。
bean的生命周期

       在传统的Java应用中,bean的盛行周期很简单。使用Java关键字new进行bean实例化,然后该bean就可以使用了。一旦该bean不再被使用,则由Java自动进行垃圾回收。
      相比之下,Spring容器中的bean的生命周期就显得相对复杂多了。正确理解Spring bean的生命周期非常重要,因为你或许要利用Spring提供的扩展点来自定义bean的创建过程。

第二章 装配Bean

创建应用对象之间关联关系的传统方法(通过构造器或者查找)通常会导致结构复杂的代码,这些代码很难服用也很难进行单元测试。如果情况不严重的haul,这些对象所做的事情只是超出了它应该做的范围;而最坏的情况则是,这些对象此之间彼高度耦合,难以复用和测试。

Spring具有非常强大的灵活性,它提供了三种主要的装配机制:

  • 在XML中进行显示配置
  • 在Java中进行显示配置
  • 隐式的bean发现机制和自动装配
Spring从两个方面来实现自动化装配:
  • 组件扫描:Spring会自动发现应用上下文中所创建的bean。
  • 自动装配:Spring自动满足bean之间的依赖。
自动化装配Bean
通过Java代码装配Bean
有时候将第三方库中的组件装配到你的应用中,在这种情况下,是没有办法在它的类上添加@Component和@Autowired注解的,因此就不能使用自动化装配的方案了。