一、Spring介绍
Spring指的是Spring Framework,通常我们称之为Spring框架。Spring框架是一个分层的面向切面的Java应用程序的一站式解决框架,它是Spring技术栈的核心和基础,是为了解决企业级引用开发的复杂性而创建的。
1.1Spring核心
IOC:Inverse of Control的简写,为控制反转,指把创建对象交给Spring进行管理。
AOP:Aspect Oriented Programming 的简写,为面向切面编程。AOP用来封装多个类的公共行为,将那些与业务无关,却为业务模块共同调用的逻辑封装起来,减少系统的重复代码,降低模块间的耦合度。
1.2、Spring Framework的特点
1. 控制反转(IoC)和依赖注入(DI):Spring 通过IoC容器管理对象的生命周期和依赖关系,减少了对象间的耦合,使得应用程序更加灵活和易于测试。
2. 面向切面编程(AOP):Spring 提供了对AOP的支持,允许开发者将横切关注点(如日志、安全性、事务管理等)从业务逻辑中分离,增强了代码的可维护性。
3. 模块化设计:Spring 是一个高度模块化的框架,提供多个子项目(如Spring MVC、Spring Boot、Spring Data等),开发者可以根据需要选择使用特定模块,而不必引入整个框架。
4. 事务管理:Spring 提供了统一的事务管理支持,支持声明式事务管理,可以简化事务的控制。
5. 跨平台兼容性:Spring 可以与多种数据库、应用服务器和其他框架无缝集成,具有很强的跨平台能力。
6. 简化开发:Spring 的设计旨在减少样板代码,提高开发效率,特别是与 Spring Boot 配合使用时,能够自动配置并加速应用开发。
二、Spring架构
核心容器(Core Container)
Beans:提供 Bean 的定义、配置和管理,Bean 是 Spring 应用中被管理的对象。
Core:包含框架的基本部分,如 IoC(控制反转)和 DI(依赖注入)功能。
Context:建立在 Core 和 Beans 之上,提供了访问企业服务的上下文,如 JNDI、EJB 等。
SpEL:Spring 表达式语言,可在运行时查询和操作对象图。
数据访问 / 集成(Data Access/Integration)
JDBC:提供对 JDBC(Java 数据库连接)的抽象,简化数据库访问。
ORM:支持多种对象 - 关系映射框架,如 Hibernate 等。
OXM:支持对象 - XML 映射。
JMS:Java 消息服务,用于在应用间进行异步通信。
Transactions:管理事务,确保数据操作的一致性和完整性。
Web 模块
WebSocket:实现 WebSocket 通信,用于双向通信的 Web 应用。
Servlet:与 Servlet 相关的功能,Servlet 是 Java Web 应用的基础组件。
Web:包含 Web 应用开发的相关功能。
Portlet:用于开发 Portlet 应用程序,通常在门户环境中使用。
三、Spring的创建与使用
3.1、Spring项目创建
1.创建一个普通Maven项目
2.添加 Spring 框架⽀持(spring-context、spring-beans)
当 Java源代码根目录出现颜色以及resources资源目录出现标识图像时,说明该Maven项目(选择maven配置)已经初始化完毕。
3.2、Spring框架依赖
在项目的 pom.xml 中添加 Spring 框架依赖(spring-context依赖)
配置文件中添加spring-context依赖后,需点击刷新键重新加载Maven项目.
Spring-context依赖的底层实现依赖于另外五个框架依赖,所以再添加Spring-context依赖的同时也会把这另外5个也添加。
3.3、存储Bean
3.3.1、创建Bean对象
Bean对象就是 Java 语⾔中的⼀个普通对象,只是该对象能够被多次调用并使用。
3.3.2、将Bean注册到Spring
在resources资源目录下添加 Spring 配置⽂件spring-config.xml.
注:id 指明Bean对象名称,class 指明Bean对象路径(包名 + 类名)。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
</beans>
3.4、读取Bean
Spring 上下文对象的获取可使用 ApplicationContex,创建的时候需要配置 Spring 配置信息。
获取指定Bean对象要求:getBean的参数值id和class要与指定Bean对象的id和class相对应。
Spring 创建与使用的流程分为三大步,分别为Spring项目的创建,Bean对象的存储以及Bean对象的读取。
四、Spring 注解
Spring 的注解模式是 Spring Framework 提供的一种简化配置和管理 Bean 的方式,它通过使用注解来代替传统的 XML 配置,使得开发者能够更加简洁、清晰地定义和管理 Spring 的组件和功能。注解模式充分发挥了 Java 反射和依赖注入(DI)的优势。
使用注解需要引入spring-aop的支持,在项目中引入依赖.
4.1、IOC创建bean
@Component 是 Spring Framework 中的一个核心注解,用于将一个类标记为 Spring 容器中的一个组件(即 Bean),使得该类的实例能够被 Spring 自动管理。
增加@Component注解后,则表示该类将在spring容器中创建.
在spring-cofig.xml文件中设置扫包路径.
项目启动后,bean对象创建完成,可直接使用该对象进行操作.
4.2、DI注入属性
@Autowired
在需要的属性上声明,Autowired按类型查找注入.
将名为“Teacher”的类在该对象中注入.
在读取“Student”类后,获取teacher属性,输出了该属性的内存地址,则说明该属性(类)被注入并使用.
@Resource
在需要的属性上生命,按Bean的id查找注入.
五、Spring其他常见注解
@Controller
继承自 @Component,用于标识 Spring MVC 控制器类,用于处理 HTTP 请求。
在 Web 应用中,@Controller 注解的类通常会接收并处理前端请求,返回视图或响应数据。
@Service
继承自 @Component,用于标识业务逻辑层的 Bean。通常用于业务服务类。
语义上标识该 Bean 是服务层的组件,帮助区分业务逻辑与其他类型的 Bean。
@Repository
继承自 @Component,用于标识数据访问层的 Bean,通常用于持久化操作(如数据库操作)。
通过以上内容便可轻轻松松使用Spring.是不是超级简单.有任何问题欢迎留言哦!!!
重点!重点!重点!
遇到问题不用怕不如来我的知识库找找看,也许有意想不到的收获!!!
易网时代-易库资源-易库教程:.NET开发、Java开发、PHP开发、SqlServer技术、MySQL技术-开发资料大全-易网时代-易库资源-易库教程 (escdns.com)