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

专业做网站联系电话wordpress做网店

专业做网站联系电话,wordpress做网店,制作微信公众号的网站,凡科网上传网站转载自 Spring Boot自动配置原理、实战 Spring Boot自动配置原理 Spring Boot的自动配置注解是EnableAutoConfiguration#xff0c;从上面的Import的类可以找到下面自动加载自动配置的映射。 org.springframework.core.io.support.SpringFactoriesLoader.loadFactoryNames(Cla…转载自 Spring Boot自动配置原理、实战 Spring Boot自动配置原理 Spring Boot的自动配置注解是EnableAutoConfiguration从上面的Import的类可以找到下面自动加载自动配置的映射。 org.springframework.core.io.support.SpringFactoriesLoader.loadFactoryNames(Class?, ClassLoader) public static ListString loadFactoryNames(Class? factoryClass, ClassLoader classLoader) {String factoryClassName factoryClass.getName();try {EnumerationURL urls (classLoader ! null ? classLoader.getResources(FACTORIES_RESOURCE_LOCATION) :lassLoader.getSystemResources(FACTORIES_RESOURCE_LOCATION));ListString result new ArrayListString();while (urls.hasMoreElements()) {URL url urls.nextElement();Properties properties PropertiesLoaderUtils.loadProperties(new UrlResource(url));String factoryClassNames properties.getProperty(factoryClassName);result.addAll(Arrays.asList(StringUtils.commaDelimitedListToStringArray(factoryClassNames)));}return result;}catch (IOException ex) {throw new IllegalArgumentException(Unable to load [ factoryClass.getName() ] factories from location [ FACTORIES_RESOURCE_LOCATION ], ex);} } 这个方法会加载类路径及所有jar包下META-INF/spring.factories配置中映射的自动配置的类。 /*** The location to look for factories.* pCan be present in multiple JAR files.*/ public static final String FACTORIES_RESOURCE_LOCATION META-INF/spring.factories; 查看Spring Boot自带的自动配置的包spring-boot-autoconfigure-1.5.6.RELEASE.jar打开其中的META-INF/spring.factories文件会找到自动配置的映射。 # Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfiguration\ org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration,\ org.springframework.boot.autoconfigure.aop.AopAutoConfiguration,\ org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration,\ org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration,\ org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration,\ org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration,\ org.springframework.boot.autoconfigure.cloud.CloudAutoConfiguration,\ ... 再来看看数据源自动配置的实现注解 Configuration ConditionalOnClass({ DataSource.class, EmbeddedDatabaseType.class }) EnableConfigurationProperties(DataSourceProperties.class) Import({ Registrar.class, DataSourcePoolMetadataProvidersConfiguration.class }) public class DataSourceAutoConfiguration { ... Configuration,ConditionalOnClass就是自动配置的核心首先它得是一个配置文件其次根据类路径下是否有这个类去自动配置。 自动配置实战 所以了解了自动配置的原理来自己实现一个自动配置的玩意其实很简单。 添加配置类 import org.slf4j.Logger; import org.springframework.context.EnvironmentAware; import org.springframework.core.env.Environment;import com.oceanpayment.common.utils.logger.LoggerUtils;public class EnvConfig implements EnvironmentAware {private final Logger logger LoggerUtils.getLogger(this);private Environment env;public String getStringValue(String key) {return env.getProperty(key);}public Long getLongValue(String key) {String value getStringValue(key);try {return Long.parseLong(value);} catch (Exception e) {logger.error(字符串转换Long失败{} {}, key, value);}return 0L;}public int getIntValue(String key) {return getLongValue(key).intValue();}Overridepublic void setEnvironment(Environment environment) {this.env environment;}} 添加自动配置类 import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.PropertyResolver;Configuration ConditionalOnClass(PropertyResolver.class) public class EnvAutoConfig {Beanpublic EnvConfig envConfig() {return new EnvConfig();}} 创建META-INF/spring.factories文件添加自动配置映射 org.springframework.boot.autoconfigure.EnableAutoConfiguration\\ com.oceanpayment.common.config.env.EnvAutoConfig 这样就搞定了。 查看自动配置报告 怎么查看自己加的自动配置类有没有被加载或者查看所有自动配置激活的和未激活的可以通过以下几种试查看。 spring-boot:run运行的在对话框Enviroment中加入debugtrue变量 java -jar xx.jar --debugmain方法运行在VM Argumanets加入-Ddebug直接在application文件中加入debugtrue如果集成了spring-boot-starter-actuator监控通过autoconfig端点也可以查看。 启动后会在控制台看到以下自动配置报告信息AUTO-CONFIGURATION REPORTPositive matches: -----------------AopAutoConfiguration matched:- ConditionalOnClass found required classes org.springframework.context.annotation.EnableAspectJAutoProxy, org.aspectj.lang.annotation.Aspect, org.aspectj.lang.reflect.Advice; ConditionalOnMissingClass did not find unwanted class (OnClassCondition)- ConditionalOnProperty (spring.aop.autotrue) matched (OnPropertyCondition)...EnvAutoConfig matched:- ConditionalOnClass found required class org.springframework.core.env.PropertyResolver; ConditionalOnMissingClass did not find unwanted class (OnClassCondition)ErrorMvcAutoConfiguration matched:- ConditionalOnClass found required classes javax.servlet.Servlet, org.springframework.web.servlet.DispatcherServlet; ConditionalOnMissingClass did not find unwanted class (OnClassCondition)- ConditionalOnWebApplication (required) found StandardServletEnvironment (OnWebApplicationCondition)ErrorMvcAutoConfiguration#basicErrorController matched:- ConditionalOnMissingBean (types: org.springframework.boot.autoconfigure.web.ErrorController; SearchStrategy: current) did not find any beans (OnBeanCondition)...Negative matches: -----------------ActiveMQAutoConfiguration:Did not match:- ConditionalOnClass did not find required classes javax.jms.ConnectionFactory, org.apache.activemq.ActiveMQConnectionFactory (OnClassCondition)AopAutoConfiguration.JdkDynamicAutoProxyConfiguration:Did not match:- ConditionalOnProperty (spring.aop.proxy-target-classfalse) found different value in property proxy-target-class (OnPropertyCondition)ArtemisAutoConfiguration:Did not match:- ConditionalOnClass did not find required classes javax.jms.ConnectionFactory, org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory (OnClassCondition)BatchAutoConfiguration:Did not match:- ConditionalOnClass did not find required class org.springframework.batch.core.launch.JobLauncher (OnClassCondition)... Positive matches已经启用的自动配置 Negative matches未启用的自动配置 从报告中看到自己添加的EnvAutoConfig已经自动配置了。
http://www.pierceye.com/news/836876/

相关文章:

  • 软件下载安装免费南京seo关键词优化服务
  • 广州网站设计软件建设将网站加入受信网站再试
  • 淘宝联盟网站备案常见的互联网应用
  • 自己做网站 搜索功能开发企业综合信息服务平台
  • 意大利语网站建设wordpress主题首页显示不全
  • 模板网站免费下载wordpress启用静态
  • 保定网站建设哪家好网站建设实践报告3000字
  • 网站制作项目执行免费制作微网站
  • 西安网站制作费用网站建设小程序开发报价
  • 深圳做针织衫服装的网站软件开发工具手机版
  • 网站域名注册的相关证书证明文件最珠海app
  • 网站规划建设与管理维护大学论文免费个人搭建网站
  • 网站解析时候让做别名企业密信app下载安装
  • 直播网站建设模板网站中文商标域名注册
  • 商务网站建设与管理读后感为什么公司要做网站
  • 高密 网站建设wordpress设置置顶文章
  • 购物京东商城西安官网seo哪家公司好
  • 专门做库存处理的网站沭阳建设网站
  • 建筑必看六个网站门户网站地方生活门户有哪些
  • 江阴 网站开发python基础教程百度亿
  • 邹城网站建设v556本校网站建设
  • 郑州一站式网站搭建北京装饰公司十大排名
  • 网站建设程序代码百度智能创作平台
  • 网上制作网站建立中文网站的英文
  • 网站域名过户查询太原企业网站怎么优化
  • 西安哪些做网站的公司创业平台网站
  • 做网站费用滁州wordpress 快站
  • 上海手机网站制作网站制作最
  • 做一网站APP多少钱网站做照片
  • 会同县做网站设计网站的结构时