当看完这本书的前一章和目录,可以发现这完全是一本spring入门神器啊。讲的很细致。(作者很是偏向注解式的spring配置,在文中多次强调。)在这里,写一些读书笔记以及总结和个人理解帮助学习。

第一章、Spring之旅

主要描述了Spring大致是什么东西,有哪些优点,以及各个版本的新特性。

为什么要用Spring?(优点)

Spring是一个开源框架,当今非常流行。它的核心目标就一个:全方位简化java开发。达到这个简单直白又纯粹的目的,文中介绍了四个方面,也可以说是Spring的四大有点:

  1. 基于POJO的轻量级和最小侵入性编程;
  2. 通过DI和面向接口编程实现松耦合
  3. 基于切面和惯例进行声明式编程;
  4. 通过切面和模板减少样板式代码;

个人理解:

1.当我们去看使用Spring框架的代码可以发现,框架几乎没有要求我们要继承、要实现框架的某某类,完成什么样的格式化的代码去写功能。完全通过注解或者xml配置文件去产生的关系,这样就是最小侵入性,框架不会侵入到我们的业务逻辑中。好处:在spring应用或者非spring应用中都可以发挥作用。

2.依赖注入,就像字面意思一样.每个类与类之间必定是要产生关系才能起到作用.spring中把这种关系,通过依赖注入的方式关联起来.把对象的创建与管理交给spring,每个实例只负责执行.具体执行什么,spring说了算.达到松耦合的作用.

3.可以看做是把一个整体拆分成好多个模块+骨架.骨架上有好多个卡槽(切点),每个模块可以按到卡槽中.组成具有不同功能的整体.这些模块叫做(切面),把模块安装到卡槽的过程叫做织入.这样可以是的代码(上述模块)进行复用.也就简化开发了.

4.切面上面第三条说了.那什么是样板式代码.比如程序连接JDBC,首先要通过连接池获取到数据源,再得到connect对象,在得到预编译对象,传sql,再执行,再返回结果.如果执行成千上万次,出现的问题就是上述中除了SQL不同,执行的方法不同,返回值不同,别的基本一致.我们就要去写成千上万次这样繁琐的代码.这些代码就是样板式代码.Spring的解决办法就是把他们封装起来.JDBCTemplate.我们只需要去写我们核心逻辑,SQL即可.

对Spring整体进行大致说明

1.Spring的对象存放在Spring容器中.容器负责对象的创建和装配,我们负责告诉他怎么装配.

Spring容器大致有两类:

第一个:Bean工厂(BeanFactory).

第二个:应用上下文(ApplicationContext)

书中给出说明:bean工厂对大多数应用来说往往太低级了,因此,应用上下文要更受欢迎.(BeanFactory表示一脸懵逼:what?!)

2.ApplicationContext容器的创建(五类)

1)AnnotationConfigApplicationContext:从配置文件获取上下文对象

2)AnnotaionCOnfigWebApplicationContext:从配置文件获取上下文对象(Spring Web)

3)ClassPathXmlApplicationContext:从配置文件的项目路径获取...

4)FileSysteXmlApplicationContext:从系统路径获取...

5)XMLWebApplicationContext:从web应用的xml文件获取...

通过上述五个类中,都可以返回一个ApplicationContext对象,通过这个对象,我们可以调用getBean("XXX.Class")方法,获取Spring容器为我们创建的这个XXX的实例对象了.(Spring默认单例)

书中还提到了spring的声明周期.就是一系列的spring内部方法的调用.直到Spring容器销毁或者执行DisposableBean的destory()方法,感兴趣自行百度.

下面放一张Spring整体模块图

spring cloud 实战派 pdf 下载_依赖注入