Sping in Action 4th Spring简介

Spring带来的优点:

简单、可测试、松耦合

轻量级、最小侵入性

依赖注入与接口使其松耦合

声明式编程、切面、基于约定

通过aspect和模板去除重复代码

严重耦合的例子

使用new关键字在一个类中创建另外一个类的实例。

耦合是必要的,因为耦合才能实现业务逻辑,但是过度耦合会导致侵入性强,测试难度大。

DI的工作原理

依赖注入容器自动注入POJO所需的依赖,无需POJO显式主动获取。

BraveKnight不关心quest的具体实现是什么,也不关心它是怎么embark的,只要注入进来的类实现了Quest接口。

依赖绑定1(xml)

以上都是通过构造器注入的,所以<constructor-arg ref/value />

依赖绑定2(Java)

使用xml绑定类的方法比较繁琐,目前比较流行的是java或者注解的形式,当然,由于历史原因,一些配置还必须使用xml。

ClassPathXmlApplicationContext读取xml绑定

在xml配置的依赖绑定,一般通过ClassPathXmlApplicationContext进行读取配置,其实就是生成了一个Container

 

Aop简介

日志,安全,事务等问题都是大家关注的问题,在整个逻辑的各个层面都会有所体现。

切面贯穿于业务逻辑的始终,随处可见的日志,随处可见的安全与事务。类似于活动插槽,想在哪里插入都可以。

Xml声明AOP组件

使用样板消除重复代码

使用Template消除重复代码,如JDBCTemplate消除JDBC连接释放等重复代码。

五种常用的Spring容器

FileSystemXmlApplicationContext

ClassPathXmlApplicationContext

AnnotationConfigApplicationContext

Spring家族

猜你喜欢

转载自blog.csdn.net/Day_and_Night_2017/article/details/88552970