springBoot系列常用注解(小结)
作者:喜羊羊love红太狼 发布时间:2023-12-17 23:26:45
@PropertySource
作用是:对自定义的properties文件加载
使用:@PropertySource(value={"classpath:people.properties"})或者@PropertySource(value="classpath:people.properties")
properties文件,获取到值乱码问题
乱码解决:
file ->settings -->file encoding--> 勾选Transparent native-to-ascill conversion
@ImportResource
作用:可以让spring的配置文件生效
使用:在启用类上加ImportResource注解,如@ImportResource(value = "classpath:person.xml")或者@ImportResource(locations ={"classpath:person.xml"})
@Conditional
作用:必须是@Conditional指定的条件成立,才给容器中添加组件或者是让自动配置类生效。
以 HttpEncodingAutoConfiguration 自动配置类举例
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(ServerProperties.class)
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)
@ConditionalOnClass(CharacterEncodingFilter.class)
@ConditionalOnProperty(prefix = "server.servlet.encoding", value = "enabled", matchIfMissing = true)
public class HttpEncodingAutoConfiguration {
private final Encoding properties;
public HttpEncodingAutoConfiguration(ServerProperties properties) {
this.properties = properties.getServlet().getEncoding();
}
@Bean
@ConditionalOnMissingBean
public CharacterEncodingFilter characterEncodingFilter() {
CharacterEncodingFilter filter = new OrderedCharacterEncodingFilter();
filter.setEncoding(this.properties.getCharset().name());
filter.setForceRequestEncoding(this.properties.shouldForce(Encoding.Type.REQUEST));
filter.setForceResponseEncoding(this.properties.shouldForce(Encoding.Type.RESPONSE));
return filter;
}
@ConditionalOnMissingBean:作用是如果容器中不存在CharacterEncodingFilter 这个bean则实例化创建一个,存在就不走下面的代码
@ConditionalOnClass(CharacterEncodingFilter.class):作用是如果容器中存在CharacterEncodingFilter 这个bean(其中一个条件)则才能够实例化者个自动配置类HttpEncodingAutoConfiguration
@ConditionalOnProperty(prefix = "server.servlet.encoding", value = "enabled", matchIfMissing = true)作用是如果配置文件中配置了server.servlet.encoding=enabled则才能够实例化者这个个自动配置类HttpEncodingAutoConfiguration
springBoot中所有的自动配置类位置:
org\springframework\boot\spring-boot-autoconfigure\2.4.5\spring-boot-autoconfigure-2.4.5.jar!\META-INF\spring.factories文件中
如何判断spring.factories这个文件中那些自动配置类是生效的?
在yml或者applicaton.properties中配置,会在控制台打印自动配置类生效报告:
########打印自动配置类生效的报告##########
debug =true
其中:Negative match:表示未生效;Positive match:表示生效的
来源:https://blog.csdn.net/qq_38423256/article/details/115799792
猜你喜欢
- 前言《飞机大战-I》是一款融合了街机、竞技等多种元素的经典射击手游。华丽精致的游戏画面,超炫带感的技能特效,超火爆画面让你肾上腺素爆棚,给你
- 静态库和动态库的区别1、静态库的扩展名一般为".a"或者".lib";动态库的扩展名一般为"
- 自从接触javascript以来,对this参数的理解一直是模棱两可。虽有过深入去理解,但却也总感觉是那种浮于表面,没有完全理清头绪。但对于
- spring FactoryBean 是创建 复杂的bean,一般的bean 直接用xml配置即可,如果一个bean的创建过程中
- 前言本文将带您了解在 Flutter 中制作翻转卡片动画的两个完整示例。第一个示例从头开始实现,第二个示例使用第三方包。闲话少说,让我们动手
- 前言痛点:在java开发的过程中,我们经常要面对各种各样的环境,比如开发环境,测试环境,正式环境,而这些环境对项目的需求也不相同。在此之前,
- 之前写了一篇文章:Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码),介绍了如何使用Java原生IO支持进行网络编程,本文
- [程序中使用的数据结构和符号说明]HitBrick类GreenBallThread控制小球路线xUp,yUp,bouncing定义变量存储1
- java 进制转换实例详解十进制转成十六进制:  
- 1 框架组成SpringSpringMVCMyBatis2 所需工具Mysql 8.0.15数据库管理系统,创建数据库Tomcat 8.5.
- 在【解决方案资源管理器】中找到Form1.cs,单击,快捷键F2重命名为“Login.cs”(命名很
- 前言空间分配要点有:一是空间分配的连续性;二是动态内存申请;三是防止程序执行中出现异常错误。提示:开始讲解了嗷~后续会根据精力持续更新嗷!!
- maven使用exec插件运行java main方法,以下是3种不同的操作方式。一、从命令行运行1、运行前先编译代码,exec:java不会
- BigDecimal类对于不需要任何准确计算精度的数字可以直接使用float或double,但是如果需要精确计算的结果,则必须使用BigDe
- 简介官方API文档Scaffold的of方法说明有说明调用Scaffold.of方法是在Scallfold的子组件的Build方法中,也就是
- 实例如下所示:public class MainActivity {private static final String fileName
- 在实践中,项目的某些配置信息是需要进行加密处理的,以减少敏感信息泄露的风险。比如,在使用Druid时,就可以基于它提供的公私钥加密方式对数据
- 在此附上超详细Windows 10卸载JDK1.8教程超详细Windows 10卸载JDK1.8教程JDK1.8即为JDK8,JDK8是目前
- 本文章向大家讲解java中时间的获取和格式化, 一. 获取当前系统时间和日期并格式化输出:import java.util.Dat
- 文件上传页面<%@ page language="java" contentType="text/htm