当前位置: 首页 > news >正文

网站推广宣传语开源wiki做网站

网站推广宣传语,开源wiki做网站,html个人简历完整代码,wordpress 全局设定使用springboot开发web应用是很方便#xff0c;只需要引入相对应的GAV就可以使用对应的功能#xff0c;springboot默认会帮我们配置好一些常用配置。那么springboot是怎么做到的呢?这篇文章将一步步跟踪源码#xff0c;查看springboot到底是如何帮我们做自动化配置。 sprin…使用springboot开发web应用是很方便只需要引入相对应的GAV就可以使用对应的功能springboot默认会帮我们配置好一些常用配置。那么springboot是怎么做到的呢?这篇文章将一步步跟踪源码查看springboot到底是如何帮我们做自动化配置。 springboot核心注解 SpringBootApplication         可以看到使用import导入一个开启自动配置的选择器 import的作用官方源码 * author Chris Beams* since 3.0* see Configuration* see ImportSelector* see ImportResource*/ Target(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) Documented public interface Import {/*** The {link Configuration}, {link ImportSelector} and/or* {link ImportBeanDefinitionRegistrar} classes to import.*/Class?[] value(); }   导入Configuration注解的配置类导入ImportSelector的实现类导入ImportBeanDefinitionRegistrar的实现类 接着看导入的这个选择器EnableAutoConfigurationImportSelector.class   protected ListString getCandidateConfigurations(AnnotationMetadata metadata,AnnotationAttributes attributes) {ListString configurations SpringFactoriesLoader.loadFactoryNames(getSpringFactoriesLoaderFactoryClass(), getBeanClassLoader());Assert.notEmpty(configurations,No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct.);return configurations;}   这里方法调用了两个核心方法 1、 getSpringFactoriesLoaderFactoryClass()我们发现返回的是EnableAutoConfiguration.class 2、loadFactoryNames这个方法 public static ListString loadFactoryNames(Class? factoryClass, ClassLoader classLoader) {String factoryClassName factoryClass.getName();try {EnumerationURL urls (classLoader ! null ? classLoader.getResources(FACTORIES_RESOURCE_LOCATION) :ClassLoader.getSystemResources(FACTORIES_RESOURCE_LOCATION));ListString result new ArrayListString();while (urls.hasMoreElements()) {URL url urls.nextElement();Properties properties PropertiesLoaderUtils.loadProperties(new UrlResource(url));String propertyValue properties.getProperty(factoryClassName);for (String factoryName : StringUtils.commaDelimitedListToStringArray(propertyValue)) {result.add(factoryName.trim());}}return result;}catch (IOException ex) {throw new IllegalArgumentException(Unable to load factories from location [ FACTORIES_RESOURCE_LOCATION ], ex);}}     先获取factoryClassEnableAutoConfiguration的className(org.springframework.boot.autoconfigure.EnableAutoConfiguration) 将这个className当做Property的key值来获取Value。springboot默认会全局扫描FACTORIES_RESOURCE_LOCATION public static final String FACTORIES_RESOURCE_LOCATION META-INF/spring.factories;    springboot将会加载org.springframework.boot.autoconfigure.EnableAutoConfiguration所对应的所有自动配置到spring IOC容器中   自动配置如何生效 以org.springframework.boot.autoconfigure.web.MultipartAutoConfiguration为例。     我们看到当前自动配置类核心在这几个注解。 Configuration ConditionalOnClass({ Servlet.class, StandardServletMultipartResolver.class,MultipartConfigElement.class }) ConditionalOnProperty(prefix spring.http.multipart, name enabled, matchIfMissing true) EnableConfigurationProperties(MultipartProperties.class)   Configuration spring注解配置类 ConditionalOnClass 意思是存在某个类当前配置生效 ConditionalOnProperty 意思是否存在开启的spring.http.multipart 的配置这里默认开启对应的是springboot主配置文件(application)文件中配置项目 EnableConfigurationProperties 意思是将MultipartProperties类加入spring容器等价于在MultipartProperties类上加 Component注解 我们去看一下MultipartProperties类是干什么了 ConfigurationProperties(prefix spring.http.multipart, ignoreUnknownFields false) public class MultipartProperties {   ConfigurationProperties 读取springboot主配置文件(application.prperties)的配置 所以最后发现只要满足Conditionalxxxx条件 当前自动配置类即可生效。   综上如果我们想知道引入的某个GAV可以配置哪些属性主需要找到对应的xxxAutoConfiguration 查看对应的 EnableConfigurationProperties(xxxx.class)引入的class即可。  转载于:https://www.cnblogs.com/gyjx2016/p/10588733.html
http://www.sadfv.cn/news/203272/

相关文章:

  • 免费行情软件app网站大全下载有图片如何制作网络
  • 建设工程信息比较好的网站跨境电商个人开店的平台
  • 阿里云主机 搭建网站开发制作小程序公司
  • 超级简历网站青岛开发区网站建设公司
  • 网站建设到备案263邮箱登录入口官网
  • 北京网站优化常识承德 网站维护
  • 怎么进成品网站后台简述网络营销的定义
  • 曼朗策划网站建设怎么依赖网站开发app
  • 廊坊网站建设方案托管东莞网站建设技术支持
  • 什么软件做网站最好金华专业的网站建设
  • 做网站怎么切psd图麻将app软件开发
  • 东莞整站优化排名哪些网站做面试题
  • 专门做房产的网站wordpress中文版和英文版
  • 农安县住房和城乡建设厅网站网站建设规划书样板
  • 哈尔滨php网站开发公司仿西部数码网站
  • 杭州做企业网站的公司做爰小视频网站
  • 哈尔滨大型网站建设贴吧网站怎么做
  • 做一个免费网站的流程汽车网站建设参考文献开题报告
  • 做美工用的网站网站公共模板是什么意思
  • 深圳定制网站建设服务公司网站和app可以做充值余额功能
  • 去视频网站做编辑网站建设公司好做吗
  • 购物帮 做特惠的导购网站无锡网络营销推广软件
  • 珠海做网站制作关键词网站推广
  • 网站开发合同适用印花税wordpress自定义文章类型模板
  • 温州网站关键词推广做亚马逊网站一般发什么快递
  • 广安市国土资源局网站建设银行系统网站模板
  • 网站开发 之cookie一个企业做网站的意义
  • 青海建设工程信息网站网易企业邮箱登录入口网页版
  • 做seo营销网站wordpress jae
  • 济南网站建设 选聚搜网络网络营销产品的概念举例