Spring 4.x基础篇之依赖注入、AOP

Spring 4.x框架 + IDEA2017

Spring框架四大原则:

1)通过POJO进行轻量级和最小侵入式开发。

2)通过依赖注入和基于接口编程实现松耦合。

3)通过AOP和默认习惯进行声明式编程。

4)使用AOP和模板(template)减少模式化代码。

一、依赖注入

控制反转(Inversion of Control - IOC)、依赖注入(dependency injection - DI),在Spring环境下是等同概念,控制反转是通过依赖注入实现的

依赖注入指的是容器负责创建对象和维护对象之间的依赖关系,而不是通过对象本身负责自己的创建和解决自己的依赖。

依赖注入的目的是为了解耦,体现一种“组合”的理念。

Spring IOC容器(ApplicationContext)负责创建Bean,并通过容器将功能类Bean注入到需要的Bean中。

无论是xml配置、注解配置还是Java配置,都被称为配置元数据,所谓元数据即描述数据的数据。元数据本身不具备任何可执行的能力,只能通过外界代码来对这些元数据解析后进行操作。Spring容器解析这些配置元数据进行Bean的初始化、配置和管理依赖。

1.简单的依赖注入(1)

Spring 4.x基础篇之依赖注入、AOP_第1张图片

声明Bean的注解:

@Component,没有明确的角色。

@Service在业务逻辑层(service层)使用。

@Repository在数据访问层(dao层)使用。

@Controller在展现层(MVC—>Spring MVC)使用。

注入Bean的注解,一般情况下通用:

@Autowired:Spring提供的注解。

@Inject:JSR-330提供的注解。

@Resouce:JSR-250提供的注解。

2.简单的依赖注入(2)

Spring 4.x基础篇之依赖注入、AOP_第2张图片

二、AOP

AOP:面向切面编程,相对于OOP面向对象编程。

Spring的AOP的存在目的是为了解耦。AOP可以让一组类共享相同的行为。在OOP中只能通过继承类和实现接口,来使代码的耦合度增强,且类继承只能为单继承,阻碍更多行为添加到一组类上,AOP弥补了OOP的不足。

Spring 4.x基础篇之依赖注入、AOP_第3张图片
Spring 4.x基础篇之依赖注入、AOP_第4张图片

上述三个小项目的pom.xml

Spring 4.x基础篇之依赖注入、AOP_第5张图片

你可能感兴趣的:(Spring 4.x基础篇之依赖注入、AOP)