栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot笔记-配置文件内容

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot笔记-配置文件内容

首先配置都是自动装配的,所以所有东西都是人家封装好的,用就得了 1.每个springboor项目都有这个:
package com.hang.springboot02config;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Springboot02ConfigApplication {
    public static void main(String[] args) {
        SpringApplication.run(Springboot02ConfigApplication.class, args);
    }
}

2.然后注解@SpringBootApplication中能找到配置源码位置,即:
@SpringBootApplication
	--@EnableAutoConfiguration:自动导入配置       @import(AutoConfigurationimportSelector.class):选择导入
 
		--getAutoConfigurationEntry:自动获取一个候选配置    getCandidateConfigurations:获取一个候选配置

			--getBeanClassLoader());       getSpringFactoriesLoaderFactoryC

				--return EnableAutoConfiguration.class;     loadFactoryNames:加载一些配置

					--Enumeration urls=classLoader.getResources(FACTORIES_RESOURCE_LOCATION);

						--public static final String FACTORIES_RESOURCE_LOCATION = "meta-INF/spring.factories":最后找到配置文件的地方
	

这里面:

3.配置文件中的内容有哪些?

自动装配原理: xxxxconfiguration就是容器中的一个组件 加到容器中自动配置

					Conditional:
					adj. 有条件的,有前提的;(从句)条件的
					n. 条件从句;条件式

XxxxProperties.java中SpringBoot封装好的配置信息:

//说明这是配置类    XxxxxxProperties中找到能配置的东西和yaml中的一一绑定
@Configuration(proxyBeanMethods=false)
//自动配置属性 指定配置的类
@EnableConfigurationProperties(ServerProperties.class)
//spring的底层注解,根据不同的条件判断当前配置或者类是否能生效,就是能不能使用
//这个判断是不是web应用使用的
@ConditionalOnWebApplication(type=ConditionalOnWebApplication.Type.SERVLET)
//字符编码过滤器
@ConditionalOnClass(CharacterEncodingFilter.class)
@ConditionalOnProperty(prefix="server.servlet.encoding",value="enabled",matchIfMissing=true)
publicclassHttpEncodingAutoConfiguration{
privatefinalEncodingproperties;
publicHttpEncodingAutoConfiguration(ServerPropertiesproperties){
this.properties=properties.getServlet().getEncoding();
}
@Bean

!!如果开头注释那没有配置信息就往下找当前的内部类,反正一定能找到

4. 配置原理
  • springboot启动会加载大量的自动配置类
  • 使用的时候在springboot他写好的配置找那些功能代码
  • 用他的配置能自动装配,没有的得自己手动配置
  • 在容器中就是yaml中的配置添加组件的时候,自动从properties中获取这些配置
  • 自动装配 封装好的属性
5.看有哪些配置生效?

在yaml中添加

debug=true

运行可以在控制台看到用到的自动配置生效

  • Positive matches:(自动配置类启用的:正匹配)
  • Negative matches:(没有启动,没有匹配成功的自动配置类:负匹配)
  • Unconditional classes: (没有条件的类)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/327972.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号