springBoot系列常用注解(小结)

@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:表示生效的

到此这篇关于springBoot系列常用注解(小结)的文章就介绍到这了,更多相关springBoot常用注解内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot 中常用注解及各种注解作用

    本篇文章将介绍几种SpringBoot 中常用注解 其中,各注解的作用为: @PathVaribale 获取url中的数据 @RequestParam 获取请求参数的值 @GetMapping 组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写 @RestController是@ResponseBody和@Controller的组合注解. @PathVaribale 获取url中的数据 看一个例子,如果我们需要获取Url=localhost:

  • springBoot系列常用注解(小结)

    @PropertySource 作用是:对自定义的properties文件加载 使用:@PropertySource(value={"classpath:people.properties"})或者@PropertySource(value="classpath:people.properties") properties文件,获取到值乱码问题 乱码解决: file ->settings -->file encoding--> 勾选Transpar

  • spring boot 的常用注解使用小结

    @RestController和@RequestMapping注解 4.0重要的一个新的改进是@RestController注解,它继承自@Controller注解.4.0之前的版本,Spring MVC的组件都使用@Controller来标识当前类是一个控制器servlet.使用这个特性,我们可以开发REST服务的时候不需要使用@Controller而专门的@RestController. 当你实现一个RESTful web services的时候,response将一直通过response

  • 全面汇总SpringBoot和SpringClould常用注解

    目录 什么是注解? 一.SpringBoot注解 1.1.@SpringBootApplication 1.2.@Repository 1.3.@Service 1.4.@RestController 1.5.@ResponseBody 1.6.@Component 1.7.@ComponentScan 1.8.@Configuration 1.9.@Bean 1.10.@EnableAutoConfiguration 1.11.@AutoWired 1.12.@Qualifier 1.13.@

  • Springboot常用注解及配置文件加载顺序详解

    Springboot常用注解及底层实现 1.@SpringBootApplication:这个注解标识了一个SpringBoot工程,她实际上是另外三个注解的组合,分别是: @SpringBootConfiguration:源码可以看到,这个注解除了元注解外,实际就只有一个@Configuration,把该类变成一个配置类,表示启动类也是一个配置类: @EnableAutoConfiguration:是开启自动配置的功能,向Spring容器中导入了一个Selector,用来加载ClassPath

  • SpringBoot常用注解详细整理

    目录 前言 一.@SpringBootApplication 二.@Bean 三.@Autowired 四.Component家族 五.@RestController 六.@Scope 七.@Configuration 八.@RequsetMapping 八.@GetMapping 九.@Configuration 十.@PostMapping 十一.@PutMapping 十二.@DeleteMapping 十三.@ParhVariable和@RequestParam 十四.@RequestB

  • SpringBoot详细列举常用注解的说明

    目录 1 概述 2 常用注解 1 概述 IOC 是Spring 最为重要的功能之一,就是将Bean初始化加载到容器中,Bean是如何加载到容器的,可以使用Spring注解方式或者Spring XML配置方式. 简言之,注解本身没有什么业务功能的,和 xml 一样,是一种元数据,元数据即解释数据的数据,这就是所谓配置. 2 常用注解 @Component 表示一个带注释的类是一个“组件”,成为Spring管理的Bean.当使用基于注解的配置和类路径扫描时,这些类被视为自动检测的候选对象.同时@Co

  • SpringBoot Controller中的常用注解

    目录 概述 常用注解简介 1.@Controller 2.@RestController 3.@RequestMapping 4.@RequestBody 5.@RequestParam 6.@PathVariable 总结 概述 Controller是Spring接受并处理网页请求的组件,是整个应用的入口,因此学会Controller的常用注解对理解一个应用是重中之重.SpringBoot的Controller中经常会用到注解@Controller.@RestController.@Reque

  • SpringBoot系列教程之dubbo和Zookeeper集成方法

    今日学习新的内容:dubbo   dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,一款高性能.轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现. zookeeper   zooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护.域名服务.分布式同步.组服务等. SpringBoot整合dubbo和Zookeeper 1.了解Dubbo基本

  • SpringBoot使用自定义注解实现权限拦截的示例

    本文介绍了SpringBoot使用自定义注解实现权限拦截的示例,分享给大家,具体如下: HandlerInterceptor(处理器拦截器) 常见使用场景 日志记录: 记录请求信息的日志, 以便进行信息监控, 信息统计, 计算PV(page View)等 性能监控: 权限检查: 通用行为: 使用自定义注解实现权限拦截 首先HandlerInterceptor了解 在HandlerInterceptor中有三个方法: public interface HandlerInterceptor { //

随机推荐