回答:你对spring的简单理解

Posted by 大雁小鱼的博客 on June 8, 2018

回答:你对Spring的简单理解

Spring项目

Spring是一个非常庞大的体系,在这个体系中有数量众多的项目,以下几个项目是比较常见的

  • Spring Framework
  • Spring Boot
  • Spring Data
  • Spring Security
  • Spring Cloud 我们着重说一说Spring Framework这个项目,它是一个开源的J2EE全功能栈的应用程序,提供一种简易的开发方式,避免代码繁杂、混乱,Spring的低侵入式开发对代码的污染较低,深受大家的喜欢,很多公司都在用。

Spring Framework的体系结构如下图所示

Spring有几个核心的概念

  • Bean管理
  • 依赖注入
  • 面向切面编程

Bean管理

与传统的方式不同,在Spring中我们会将对象的创建过程交给Spring容器来管理,也就是说只有交给Spring容器管理你的类,Spring才能对它起作用。

Spring是通过BeanFactory来获取类的信息,常见的BeanFactory有4种实现:

  • ClassPathXmlApplicationContext 从 classpath 加载 spring 的配置文件
  • FileSystemApplicationContext 从系统文件加载 spring 的配置文件
  • AnnotationConfigApplicationContext 获取基于注解的 spring 容器对象
  • XmlWebApplicationContext 在 web 环境中获取 spring 容器对象

依赖注入

依赖注入可以大大降低对象与对象之间的耦合度 注入有多种方式

  • 属性注入
  • 方法注入
  • 构造函数注入

面向切面编程

AOP在Spring中主要表现在两个方面:

  • 提供声明式事务管理
  • Spring支持用户自定义切面