回答:你对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支持用户自定义切面