搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
盐析白兔
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
Spring Boot Serverless 实战 | Serverless 应用的监控与调试_springboot 应用监控 云计算
2
15万字408道软件测试经典面试题总结(附答案)
3
大学生论文AIGC检测率,多少为合格?_aigc检测率为多少合格
4
CUDA安装,以11.6版本为例(小白必会版)_cuda11.6
5
Rust 程序设计语言 第三章常见编程概念_rust程序设计语言
6
自然语言处理从入门到应用——预训练模型总览:词嵌入的两大范式_中文词嵌入预训练模型有哪些
7
线性代数在AI中的应用
8
【Attention机制讲解】
9
安利一个白嫖云GPU使用——colab使用_colab 学生
10
【Redis连接超时】io.lettuce.core.RedisConnectionException: Unable to connect to 192.168.x.x:7000_caused by: io.lettuce.core.redisconnectionexceptio
当前位置:
article
> 正文
Spring的特点,核心组件,常用模块,主要包和常用注解_spring5.x核心组件
作者:盐析白兔 | 2024-04-08 09:52:31
赞
踩
spring5.x核心组件
文章目录
一、Spring的特点
1、轻量级
2、控制反转
3、面向切面
4、容器
5、框架集合
二、Spring核心组件
核心组件
1、Beans
2、Core
3、Context
4、SpEL
数据访问/集成
5、JDBC
6、ORM
7、OXM
8、Transactions
9、JMS
Web页面
10、Web
11、Web-MVC
12、WebSocket
13、Portlet
三、Spring常用模块
1.核心容器
2.Spring上下文
3.Spring AOP
4.Spring DAO
5.Spring ORM
6.Spring Web模块
7.Spring MVC框架
四、Spring主要包
五、Spring常用注解
1.@Controller
2.@RestController
3.@Component
4.@Repository
5.@Service
6.@ResponseBody
7.@RequestMapping
8.@Autowired
9.@PathVariable
10.@requestParam
11.@RequestHeader
一、Spring的特点
Spring是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。
Spring可以和其他的框架无缝整合;
方便解耦,简化开发;
对AOP的支持;
对声明式事务的支持;
方便集成各种优秀的框架;
1、轻量级
从大小和开销两方面而言Spring是轻量的;
完整的Spring框架可以在一个大小只有1M多的JAR文件里发布,并且Spring所需的处理开销也是微不足道的;
Spring是非侵入式的,Spring应用中的对象不依赖于Spring的特定类;
2、
控制反转
Spring通过一种称作控制反转IOC的技术促进了低耦合;
当应用了IOC,一个对象依赖的其他对象会通过被动的方式传递进来,而不是这个对象自己创建或者是查找依赖对象;
3、面向
切面
Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开;
4、容器
Spring包含并管理应用对象的配置和生命周期;
在这个意义上说它是一种容器,你可以配置每一个你的Bean如何被创建;
基于一个可配置原型,你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的;
5、框架集合
Spring可以将简单的组件配置,组合成为复杂的应用;
在Spring中,应用对象被声明式的组合,典型的是在一个XML文件中;
Spring也提供了很多基础功能(事务管理、持久化框架集成等),将应用逻辑的开发留给开发者
二、Spring核心组件
核心组件
1、Beans
Spring实际上就是面向Bean的编程,
Bean组件在Spring的org.springframework.beans包下,主要是为了完成Bean的创建、Bean的定义以及Bean的解析;
Spring Bean的创建时典型的就是工厂模式,BeanFactory的最终默认实现类是DefaultListableBeanFactory,它实现了所有的接口;
Bean的定义主要由BeanDefinition描述,其完整的描述了在Spring配置文件中定义的节点的所有信息,包括子节点;
Bean的解析主要是对Spring配置文件的解析,
2、Core
提供了框架的基本组成部分,包括IOC和依赖注入功能;
3、Context
建立在有Core和Bean模块提供的坚实基础上,他是访问定义和配置的任何对象的媒介,ApplicationContext接口是其重点;
4、SpEL
在运行时提供了查询和操作一个对象图的强大的表达式语言
数据访问/集成
5、JDBC
提供了删除冗余的JDBC相关编码的JDBC抽象层;
6、ORM
为流行的对象关系映射API,包括JPA,JDO,Hibernate和Ibatis提供了集成层;
7、OXM
提供了抽象层,支持对JAXB,Castor,XMLBeans,JIBX和XStream的对象/XML映射的实现;
8、Transactions
为实现特殊接口的类及所有的POJO支持编程式和声明式事务管理
9、JMS
Java消息服务,包含生产和消费的信息的功能
Web页面
10、Web
提供了基本的面向web的集成功能,例如多个文件上传的功能和使用servlet监听器和面向web应用程序的上下文来初始化IOC容器;
11、Web-MVC
包含Spring的模型-视图-控制器(MVC),实现了web应用程序;
12、WebSocket
为WebSocket-based提供了支持,而且在web应用程序中提供了客户端个服务端之间通信的两种方式;
13、Portlet
提供了在portlet环境实现MVC,并且反映了Web-Servlet模块的功能的数据访问集成;
三、Spring常用模块
1.核心容器
核心容器提供Spring框架的基本功能,核心容器的主要组件是BeanFactory,它是工厂模式的实现;
BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开;
2.Spring上下文
Spring上下文是一个配置文件,向Spring框架提供上下文信息;
Spring上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能;
3.Spring AOP
通过配置管理特性,Spring AOP模块直接将面向切面的编程功能集成到了Spring框架中,可以将一些通用任务,如安全、事务、日志等集中进行管理,提高了复用性和管理的便捷性;
4.Spring DAO
为JDBC DAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误信息;
异常层次结构简化了错误处理,并且极大的降低了需要撰写的异常代码数量(例如打开个关闭连接),Spring DAO的面像JDBC的异常从通用的DAO异常层次结构
5.Spring ORM
Spring框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,其中包括JDO、Hibernate和iBatis SQL Map;所有这些都遵从Spring的通用事务和DAO异常层次结构
6.Spring Web模块
Web上下文模块建立在应用程序上下文模块之上,为基础Web的应用程序提供了上下文;
Spring框架支持与Jakarta Struts的集成;
Web模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作
7.Spring MVC框架
MVC框架是一个全功能的构建Web应用程序MVC实现,通过策略接口,MVC框架变成高度可配置的,MVC容器了大量视图技术,其中包括JSP、Velocity、Tiles、IText和POI;
四、Spring主要包
org.springframework.core:Spring的核心工具包,其他包依赖此包;
org.springframework.beans:所有应用都用到,包含访问配置文件,创建和管理bean等;
org.springframework.aop:Spring的面向切面编程,提供AOP(面向切面编程)的实现;
org.springframework.context:提供基础的IOC功能上的扩展服务,此外还提供了许多企业级服务的支持,有邮件服务,任务调度,JNDI定位,EJB集成,远程访问、缓存以及多种视图层框架的支持;
org.springframework.mvc:包含SpringMVC应用开发时所需的核心类;
五、Spring常用注解
bean注入与装配的方式有很多种,可以通过xml,get和set方式,构造函数或者注解等;
1.@Controller
用于注解控制层组件;
用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller对象;
分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping注解;
可以把Request请求header部分的值绑定到方法的参数上;
2.@RestController
相当于@Controller和@responseBody的组合效果
3.@Component
泛指组件,当组件不好归类时,我们就可以用它进行标注;
4.@Repository
用于注解DAO层,在DAOlmpl类上注解
5.@Service
用于标注业务层组件
6.@ResponseBody
异步请求
用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的Body数据区;
返回的数据不是html标签的页面,而是其他某种格式的数据时使用;
7.@RequestMapping
用来处理请求地址映射的注解,可用于类或者方法上;
用于类上,表示类中所有的响应请求的方法都是以改地址作为父路径;
8.@Autowired
可以对类成员变量、方法以及构造函数进行标注,完成自动装配的工作;
通过Autowired的使用来消除set、get方法;
9.@PathVariable
用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出URL模板中的变量作为参数
10.@requestParam
主要用于在SpringMVC后台控制层获取参数,类似一种是request.getParameter(“name”)
11.@RequestHeader
可以将Request请求header部分的值绑定到方法的参数上
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/盐析白兔/article/detail/384598
推荐阅读
article
使用
Spring
AI让你的
Spring
Boot应用快速拥有生成式AI能力_
spring
-
ai
-a...
之前分享了关于
Spring
新项目
Spring
AI。视频里演示了关于使用
Spring
AI将Open AI的能力整合到S...
赞
踩
article
Spring
-
Cloud
-
Gateway
之代码注入漏洞及解决_
spring
cloud
gatewa...
Spring
Cloud
Gateway
是基于
Spring
Framework 和
Spring
Boot 构建的 ...
赞
踩
article
Spring Cloud Gateway
压测
(
wrk
、
k8s
、
nginx
)_
spring
cloud...
压测
环境K8S容器中安装
wrk
,scg(Spring Cloud Gateway)发布在
k8s
容器中,使用
nginx
访问...
赞
踩
article
【赠书活动|
第三期
《
Spring
Cloud
Alibaba
核心技术
与实战案例》】...
本书从分布式系统的基础概念讲起,逐步深入分布式系统中间件
Spring
Cloud
Alibaba
进阶实战,重点介绍了使用...
赞
踩
article
Spring
Boot
与
Netty
的完美结合:打造高性能
网络通信
_springboot +
netty
...
本文介绍了如何在
Spring
Boot
项目中添加
Netty
依赖、编写
Netty
服务端和客户端代码,并将
Netty
的启动和...
赞
踩
article
Spring
boot
2基于
Netty
的
高性能
Websocket
服务器(心跳模式)...
1:为什么要用
Netty
Netty
是一款基于NIO(Nonblocking I/O,非阻塞IO)开发
的
网络通信框架,对比...
赞
踩
article
2024
Java
零基础自学路线(
Java
基础、
Java
高并发、
MySQL
、
Spring
、
Redis
、...
篇篇经典,字字珠玑_
java2024
学习路线
java2024
学习路线 ...
赞
踩
article
Spring
boot
集成
dynamic
-
datasource
-
spring
-
boot
-start...
Spring
boot
集成
dynamic
-
datasource
-
spring
-
boot
-
starter
,实现项目中原有...
赞
踩
article
Spring
Cloud
Foundry
上使用通配符
模式匹配
进行的安全绕过漏洞
CVE
-2023-2...
背景:公司项目扫描到
Spring
Cloud
Foundry
上使用通配符
模式匹配
进行的安全绕过漏洞
CVE
-2023-...
赞
踩
article
AI赋能
微
服务
:
Spring
Boot
引领
机器
学习
时代
的
应用革新...
借助
Spring
Boot
强大
的
开发工具和丰富
的
生态系统,开发者可以更加便捷地将
机器
学习
模型集成到
微
服务
中,从而快速构建...
赞
踩
article
Spring
Security
整合
CAS
_
spring
-
security
-cas...
CAS
(中央认证服务)从结构上看,
CAS
包含两个部分:
CAS
Server 和
CAS
Client。
CAS
Ser...
赞
踩
article
Spring
Boot
Mockito
(二)...
基于第一篇这篇文章主要是讲解
Spring
boot 与
Mockito
集成持久层接口层单元测试。
Spring
Boot
...
赞
踩
article
Spring
boot
结合
Mockito
、
junit
、MockMVC_spring
boot
集成m...
介绍了基本的spring
boot
结合
junit
和
Mockito
和MockMVC进行简单的集成测试和单元测试_sprin...
赞
踩
article
Spring
Boot
|
Spring
Boot
的“
数据
访问“、
Spring
Boot
“
整合
MyB...
目录:一、
Spring
Boot
”
数据
访问概述“二、
Spring
Boot
”
整合
MyBatis
”1. 基础环境搭建 (引...
赞
踩
article
5.1
.8、【
AI
技术
新纪元
:
Spring
AI
解码】
Anthropic
Chat
...
Spring
AI
项目定义了一个名为spring.ai.anthropic.api-key的配置属性,您应该将其设置为从...
赞
踩
article
Spring
boot
如何使用
redis
缓存...
告诉bean容器这是一个配置类@Bean,以后使用RedisTemplate 类型的变量注入的时候,就会调用这个方法返回...
赞
踩
article
WebSorcket
集成
Spring
Boot...
【代码】
WebSorcket
集成
Spring
Boot。
WebSorcket
集成
Spring
Boot ...
赞
踩
article
【
AIGC
】
spring
+
openAI
轻松
生成
图片_
aigc
spring
boot...
这个类使用 Spring RestTemplate 库向 OpenAI API 的
生成
图像端点发送 POST 请求,包含...
赞
踩
article
Spring
Boot
Mockito
(三)...
这篇文章主要是讲解
Spring
boot 与
Mockito
集成测试。
Spring
Boot
Mockito
(三) ...
赞
踩
article
Spring
boot
整合
mockito
...
spring
boot
整合
mockito
和spring整合
mockito
是一样的,没什么区别一 引入依赖: <...
赞
踩
相关标签
Java
spring
gateway
java
gateway压测
wrk压测
k8s gateway 压测
scg压测
spring cloud
spring boot
后端
Websocket
netty
Spring boot
2023年度总结
2024
中间件
微服务
dynamic-data
安全
服务器
人工智能