spring框架小结

  • 1.spring框架是什么
  • 2.spring框架包含哪些内容
  • 3.Spring框架的核心
  • IOC:
  • DI:
  • AOP:


1.spring框架是什么

spring框架是一个轻量级的开源框架,是为解决企业应用开发的复杂性而创建的

2.spring框架包含哪些内容

Spring 框架数据库 的 系统技术架构图_spring

Spring框架的七个模块既可以单独存在,也可以与其他一个或多个模块联合使用(如SSM)

3.Spring框架的核心

Spring框架有三大核心,控制反转(IOC),依赖注入(DI),面向切面编程(AOP)

IOC:

浅层理解&优点:

平时我们new一个实例,这个实例的控制权使我们本身,而IOC将new实例的工作交给了Spring容器
当被依赖的类被修改的时候,若没有依赖注入,则需要修改依赖对象调用者,若调用者非常多,将是一个冗长的过程,而使用IOC则不需要修改。
若对象的构建依赖了非常多的对象,且层次很深,外层构造对象就会非常麻烦,而使用IOC我们将不需要关心深层对象如何创建,前人都写好了。


深入分析:IOC分析

IOC不是一种技术,而是一种思想,一种面向对象编程的法则。所有的类都会在spring容器中登记,告诉spring你是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。

DI:

理解&优点:

利用配置信息,使我们在客户端代码中不用new任何对象,只需要简单的几行注解即可创建该类。


分析:

IoC的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象。比如一个对象X需要操作数据库,我们只需要告诉Spring X需要一个Connection去操作数据库,而这个Connection怎么构造,如何构造 X 并不需要知道。当系统运行的时候,spring会在适合的适合制造一个Connection并注入X对象中供X使用,这样就完成了X对象和Connection对象之间关系的控制。


常见注解:

@Resource:自动注入,默认按name优先注入

@Autowired :自动注入,默认按type优先注入

@Qualifier:与@Autowired搭配使用,当IOC容器中有相同种类的Bean时,该注解可以根据name区分注入

AOP:

理解:aop分析

利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为(日志记录,性能统计,安全控制,事务处理,异常处理等)封装到一个可重用模块,并将其命名为"Aspect",即切面

切面:将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。