何为Spring?
Spring是分层的JavaEE应用full-stack轻量级开源框架,主要以IOC(反转控制)和AOP(面向切面编程)为核心。提供了展现层SpringMVC和持久层SpringJDBCTemplate以及业务层事务管理等众多的企业级应用技。
Spring框架有哪些核心技术
-
Spring IOC(Inversion of Control,控制反转)
-
Spring AOP(Aspect-Oriented Programming,面向切面编程)
-
Spring MVC(Model-View-Controller)(构建基于 Web 的应用程序的框架)
-
Spring Boot(基于 Spring 的独立应用的项目)
-
Spring Cloud(构建分布式系统的软件工具)
Spring的优势
- 方便解耦,简化开发。
- AOP编程的支持。
- 声明式事务的支持。
- 方便程序的测试。
Spring创建对象的方式
- 通过无参构造函数:是最常见且最简单的方式,Spring通过反射来调用类的无参构造函数来创建对象。
- 通过工厂的静态方法:Spring会调用指定的静态方法来获取对象实例
- 通过工厂的动态方法:Spring首先创建工厂的实例,然后调用其指定的实例方法来获取对象实例。
- 实现FactoryBean接口:FactoryBbean是一个特殊的接口,实现该接口的类可以自定义对象的创建逻辑,Spring会调用FactoryBean的哥特Object方法来获取对象实例。
谈谈对SpringIOC的理解
IOC就是控制反转,就是创建对象的创建者被反转了(之前是程序员现在是Spring框架),即在传统的应用程序中,对象的创建和依赖关系的管理通常由对象自身来完成。而在 IOC 模式下,这些控制权被反转给了外部容器。应用程序只需要定义好对象的依赖关系,容器会负责将这些依赖注入到对象中。
依赖注入方式(DI)
- 构造函数注入
- Setter方法注入
- 字段注入
Spring 容器
Spring 容器是实现 IOC 的核心组件,负责管理对象的创建、配置和生命周期。Spring 提供了两种类型的容器:BeanFactory 和 ApplicationContext。
- BeanFactory 是最基本的容器,提供了基本的 IOC 功能。
-
ApplicationContext 是 BeanFactory 的扩展,提供了更多的企业级功能,如 AOP、事件传播、国际化等。