springboot注释详解版本2
迪丽瓦拉
2025-05-29 12:42:01
0
@SpringBootApplication

标注主程序类 说明一个spring boot应用

@SpringBootConfiguration

标注为spring boot配置类

@EnableAutoConfiguration

开启自动配置功能

@EnableConfigurationProperties(HttpEncodingAutoConfiguration.class)

启动指定类的ConfigurationProperties功能 并添加至IOC容器

@AutoConfigurationPackage

自动配置包

@Import({Registrar.class})

导入一个容器到组件

Registrar.class:将主程序所在包及其子包下的组件扫描到spring容器

EnableAutoConfigurationImportSelector.class:自动导入组件选择器

->AutoConfigurationImportSelector

->selectImports():决定导入spring容器到底导入那些组件 返回全类名形式

->getCandidateConfigurations():SpringFactoriesLoader.loadFactoryNames()从配置文件spring.factories中获取配置放置到容器

@EnableWebMvc

全面接管springMVC 所有spring mvc自动配置失效

@Bean

将方法的返回值分配到容器中 组件名为注明方法的名称

@PropertySource(value = {"classpath:/person.properties"})

@ImportResource(locations = {"classpath:beans.xml"})

导入spring配置文件,让配置文件内容生效

@Controller

声明为spring控制器

@ExceptionHandler(UserNotExistsException.class)

错误处理 标注方法 异常或自定义异常类的class

@ControllerAdvice

注册异常处理控制器

@RestController

等效于 @Controller加@RespanseBody

@Configuration
@MapperScan(value = "**.**.**")

将指定包中的所有接口自动默认为添加了mapper注解 value为包名称

@Mapper

指定这是一个操作数据库的mapper

mapper中方法sql操作数据

@Select("select * from department where id=#{id}")

@Delete("sql")

@Insert("sql")

@Update("sql")

@Options(useGeneratedKeys = true,keyProperty = "id")

设置是否使用自动生成的主键及其主键名称

@ConfigurationProperties(prefix = "person")

将本类中所有属性从全局配置文件中相关属性进行绑定

支持松散绑定语法

支持JSR303数据校验

@Conditional({OnClassCondition.class})

根据满足不同的条件后添加组件配置内容生效

@ConditionalOnWebApplication

判断当前应用是web应用

@ConditionalOnJndi

JNDI存在指定项

@ConditionalOnNotWebApplication

当前不是web环境

@ConditionalOnClass(CharacterEncodingFilter.class)

判断当前对象有没有这个类 CharacterEncodingFilter:springMVC乱码过滤器

@ConditionalOnMissingClass

如果系统没有这个类

@ConditionalOnResource

类路径下是否存在指定资源文件

@ConditionalOnProperty(prefix = "spring.http.encoding",value = "enabled",matchIfMissing = true)

判断配置文件中是否存在某个配置 matchIfMissing:不配置也生效

@ConditionalOnMissingBean(CharacterEncodingFilter.class)

如果容器中没有配置该组件再去配置此组件

@ConditionalOnBean(CharacterEncodingFilter.class)

如果容器汇总有该组件去配置组件

@ConditionalOnExpression

满足SpEL表达式指定

@Value("true")

为单个属性绑定配置文件变量

三种写法:@Value("true") @Value("#{11*2}") @Value("${person.last-name}")

不支持复杂封装对象的赋值

@Component

将本类注册为容器

@Validated

数据校验 必须是符合以下格式的数据

@Email

@Service

@SpringBootTest

@Test

@Autowired

@ResponseBody

声明为相应体

可以写在单个方法或者控制器类上声明类中所有方法为相应体

返回JSON格式数据

@RequestMapping("/hello")/(value = "/user/login",method = RequestMethod.POST)

声明为请求容器 返回前端界面

@PostMapping("/user/login")

声明为post方式请求容器

@GetMapping("/emp/{id}")

@PutMapping

@DeleteMapping

@RequestParam("user")

请求参数

@PathVariable("id")

获取path路径变量

@Target

@Retention
@Documented

当前注解可能被包含在javadoc中

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
A.机器学习入门算法(三):基... 机器学习算法(三):K近邻(k-nearest neigh...
数字温湿度传感器DHT11模块... 模块实例https://blog.csdn.net/qq_38393591/article/deta...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
Redis 所有支持的数据结构... Redis 是一种开源的基于键值对存储的 NoSQL 数据库,支持多种数据结构。以下是...
win下pytorch安装—c... 安装目录一、cuda安装1.1、cuda版本选择1.2、下载安装二、cudnn安装三、pytorch...
MySQL基础-多表查询 文章目录MySQL基础-多表查询一、案例及引入1、基础概念2、笛卡尔积的理解二、多表查询的分类1、等...
keil调试专题篇 调试的前提是需要连接调试器比如STLINK。 然后点击菜单或者快捷图标均可进入调试模式。 如果前面...
MATLAB | 全网最详细网... 一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点&#...
IHome主页 - 让你的浏览... 随着互联网的发展,人们越来越离不开浏览器了。每天上班、学习、娱乐,浏览器...
TCP 协议 一、TCP 协议概念 TCP即传输控制协议(Transmission Control ...
营业执照的经营范围有哪些 营业执照的经营范围有哪些 经营范围是指企业可以从事的生产经营与服务项目,是进行公司注册...
C++ 可变体(variant... 一、可变体(variant) 基础用法 Union的问题: 无法知道当前使用的类型是什...
血压计语音芯片,电子医疗设备声... 语音电子血压计是带有语音提示功能的电子血压计,测量前至测量结果全程语音播报࿰...
MySQL OCP888题解0... 文章目录1、原题1.1、英文原题1.2、答案2、题目解析2.1、题干解析2.2、选项解析3、知识点3...
【2023-Pytorch-检... (肆十二想说的一些话)Yolo这个系列我们已经更新了大概一年的时间,现在基本的流程也走走通了,包含数...
实战项目:保险行业用户分类 这里写目录标题1、项目介绍1.1 行业背景1.2 数据介绍2、代码实现导入数据探索数据处理列标签名异...
记录--我在前端干工地(thr... 这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前段时间接触了Th...
43 openEuler搭建A... 文章目录43 openEuler搭建Apache服务器-配置文件说明和管理模块43.1 配置文件说明...