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

重庆市建设安全监督站的网站九江建设局网站

重庆市建设安全监督站的网站,九江建设局网站,手机可以制作h5的软件有哪些,常州网站建设制作什么是 Spring Boot Spring Boot 基本上是 Spring 框架的扩展#xff0c;它消除了设置 Spring 应用程序所需的复杂例行配置。我们在使用 Spring 框架的时候#xff0c;我们接触得比较多的应该是 Spring MVC、 IOC 、 DI 、AOP 等等#xff0c;而这些框架在使用的过程中会需…什么是 Spring Boot Spring Boot 基本上是 Spring 框架的扩展它消除了设置 Spring 应用程序所需的复杂例行配置。我们在使用 Spring 框架的时候我们接触得比较多的应该是 Spring MVC、 IOC 、 DI 、AOP 等等而这些框架在使用的过程中会需要配置大量的 XML或者需要做很多繁琐的配置。Spring Boot 可以帮助我们快速搭建一个基于 Spirng 框架以及 Spring 生态体系的应用解决方案。 创建独立的 Spring 应用程序直接嵌入 TomcatJetty 或 Undertow无需部署 WAR 文件java -jar 就可以运行提供 starter 依赖来简化你自己的配置自动装配 Spring 和第三方的依赖提供可用于生产的功能例如指标运行状况检查和外部化配置比如 Actuator完全没有代码生成也不需要 XML 配置 约定大于配置 maven 的目录结构默认有 resources 文件夹存放配置文件默认打包方式为 jarspring-boot-starter-web 中默认包含 spring mvc 相关依赖以及内置的 tomcat 容器使得构建一个 web 应用更加简单默认提供 application.properties/yml 文件默认通过 spring.profiles.active 属性来决定运行环境时读取的配置文件EnableAutoConfiguration 默认对于依赖的 starter 进行自动装配 自动装配 SpringBootApplication实际上是一个复合注解主要由以下构成 Configuration Configuration是 JavaConfig 形式的基于 Spring IOC 容器的配置类使用的一种注解。所以在启动类里面标注了 Configuration意味着它其实也是一个 IoC 容器的配置类。 传统意义上的 Spring 应用都是基于 xml 形式来配置 bean 的依赖关系。但是从 Spring3 开始Spring 就支持了两种 bean 的配置方式一种是基于 xml 文件方式另一种就是 JavaConfig任何一个标注了 Configuration 的 Java 类定义都是一个 JavaConfig 配置类。而在这个配置类中任何标注了 Bean 的方法它的返回值都会作为 Bean 定义注册到 Spring 的 IoC 容器方法名默认成为这个 Bean 的 id。然后通过 spring 容器在启动的时候把 Bean 进行初始化并且如果 Bean 之间存在依赖关系则分析这些已经在 IoC 容器中的 Bean 根据依赖关系进行组装。 ComponentScan ComponentScan 就是扫包相当于 xml 配置文件中的context:component-scan 。 它的主要作用就是扫描指定路径下的标识了需要装配的类自 动装配到 Spring 的 IoC 容器中。 标识需要装配的类的形式主要是Component、Repository、Service、Controller 这类的注解标识的类。(注Repository、Service、Controller 的底层还是 Component)。ComponentScan 默认会扫描当前 package 下的的所有加了相关注解标识的类到 IoC 容器中。 EnableAutoConfiguration EnableAutoConfiguration 是 Spring Boot 的灵魂。从 Spring3.1 开始提供了一系列的 Enable 开头的注解它是在 JavaConfig 框架上更进一步的完善使用户在使用 Spring 相关的框架避免配置大量的代码从而降低使用的难度。 每一个涉及到 Enable 开头的注解都会带有一个 Import 的注解 EnableAutoConfiguration 也不例外。 Import 对应 XML 形式下的 就是导入资源把多个分布在不同容器下的配置合并在一个配置中。Import 注解可以配置三种不同的 class 普通 Bean 或者带有 Configuration 的配置文件 实现 ImportSelector 接口进行动态注入 实现 ImportBeanDefinitionRegistrar 接口进行动态注入 这里导入的是第二种 importSelector这是一种动态注入 Bean 的技术。其中AutoConfigurationImportSelector实现了 ImportSelector 接口。借助AutoConfigurationImportSelectorEnableAutoConfiguration帮助SpringBoot应用将所有符合条件的Configuration配置都加载到当前SpringBoot创建并使用的IoC容器。 在AutoConfigurationImportSelector类中可以看到通过 SpringFactoriesLoader.loadFactoryNames()把 spring-boot-autoconfigure.jar/META-INF/spring.factories中每一个xxxAutoConfiguration文件都加载到容器中spring.factories文件里每一个xxxAutoConfiguration文件一般都会有下面的条件注解: ConditionalOnClass classpath中存在该类时起效ConditionalOnMissingClass classpath中不存在该类时起效ConditionalOnBean DI容器中存在该类型Bean时起效ConditionalOnMissingBean DI容器中不存在该类型Bean时起效ConditionalOnSingleCandidate DI容器中该类型Bean只有一个或Primary的只有一个时起效ConditionalOnExpression SpEL表达式结果为true时ConditionalOnProperty 参数设置或者值一致时起效ConditionalOnResource 指定的文件存在时起效ConditionalOnJndi 指定的JNDI存在时起效ConditionalOnJava 指定的Java版本存在时起效ConditionalOnWebApplication Web应用环境下起效ConditionalOnNotWebApplication 非Web应用环境下起效 SpringFactoriesLoader SpringFactoriesLoader属于Spring框架私有的一种扩展方案(类似于Java的SPI方案java.util.ServiceLoader)其主要功能就是从指定的配置文件META-INF/spring-factories加载配置spring-factories是一个典型的java properties文件只不过Key和Value都是Java类型的完整类名。 对于EnableAutoConfiguration来说SpringFactoriesLoader的用途稍微不同一些其本意是为了提供SPI扩展的场景而在EnableAutoConfiguration场景中它更多提供了一种配置查找的功能支持即根据EnableAutoConfiguration的完整类名org.springframework.boot.autoconfig.EnableAutoConfiguration作为查找的Key获得对应的一组Configuration类。 SpringFactoriesLoader是一个抽象类类中定义的静态属性定义了其加载资源的路径public static final String FACTORIES_RESOURCE_LOCATION “META-INF/spring.factories”此外还有三个静态方法 loadFactories加载指定的factoryClass并进行实例化。loadFactoryNames加载指定的factoryClass的名称集合。instantiateFactory对指定的factoryClass进行实例化。 loadFactories方法首先获取类加载器然后调用loadFactoryNames方法获取所有的指定资源的名称集合、接着调用instantiateFactory方法实例化这些资源类并将其添加到result集合中。最后调用AnnotationAwareOrderComparator.sort方法进行集合的排序。 SpringBoot starter SpringBoot中的starter是一种非常重要的机制能够抛弃以前繁杂的配置将其统一集成进starter应用者只需要在maven中引入starter依赖SpringBoot就能自动扫描到要加载的信息并启动相应的默认配置。 starter让我们摆脱了各种依赖库的处理需要配置各种信息的困扰。SpringBoot会自动通过classpath路径下的类发现需要的Bean并注册进IOC容器。SpringBoot提供了针对日常企业应用研发各种场景的spring-boot-starter依赖模块。所有这些依赖模块都遵循着约定成俗的默认配置并允许我们调整这些配置即遵循“约定大于配置”的理念。 starter的实现方法 创建一个starter项目Spring 官方定义的 starter 通常命名遵循的格式为 spring-boot-starter-{name}。创建一个ConfigurationProperties用于保存你的配置信息。创建一个AutoConfiguration引用定义好的配置信息。在AutoConfiguration中实现所有starter应该完成的操作并且把这个类加入spring.factories配置文件中进行声明。打包项目之后在一个SpringBoot项目中引入该项目依赖。 引入的依赖 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-autoconfigure/artifactId/dependency /dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/buildspring-boot-autoconfigure中包含大量核心注解包含条件注解等。 创建properties属性类用于读取属性 ConfigurationProperties(prefix com.test) public class TestServiceProperties {private String name test;public String getName() {return name;}public void setName(String name) {this.name name;}}ConfigurationProperties配置此注解可以自动导入application.properties配置文件中的属性前提需要指定属性前缀prefix。如果application.properties文件中未指定相应属性便使用默认的如上name“test”。 创建配置类 public class TestServiceConfiguration {private String name;public String getName() {return name is name;}public void setName(String name) {this.name name;} }创建自动配置类 Configuration EnableConfigurationProperties(TestServiceProperties.class) ConditionalOnClass(TestServiceConfiguration.class) ConditionalOnProperty(prefix com.test, value enabled, matchIfMissing true) public class TestServiceAutoConfiguration {Autowiredprivate TestServiceProperties testServiceProperties;BeanConditionalOnMissingBean(TestServiceConfiguration.class)public TestServiceConfiguration testServiceConfiguration() {TestServiceConfiguration testService new TestServiceConfiguration();TestService.setName(testServiceProperties.getName());return testService;} }Configuration表明此类是一个配置类将变为一个bean被spring进行管理。EnableConfigurationProperties启用属性配置将读取TestServiceProperties里面的属性。ConditionalOnClass当类路径下面有TestServiceConfiguration此类时自动配置。ConditionalOnProperty判断指定的属性是否具备指定的值。ConditionalOnMissingBean当容器中没有指定bean时创建此bean。 配置类注册 在resources文件夹下面新建一个META-INF文件并在下面创建spring.factories文件将配置类进行注册。 org.springframework.boot.autoconfigure.EnableAutoConfiguration\com.test.TestServiceAutoConfiguration使用 自定义的starter编写完毕执行mvn clean install将项目打成一个jar包。新建一个springboot项目在pom文件中添加刚刚打包的jar。 在application.properties添加 com.test.nametest
http://www.huolong8.cn/news/206058/

相关文章:

  • net公司网站开发框架源代码免费html网站开发教程
  • 石家庄网站建设联系电话做App和网站 聚马
  • 部门网站建设和维护iis默认网站 没有属性
  • 网站制作软件手机版下载如何学网站建设
  • 苏州做网站设计的公司为什么无法卸载wordpress
  • 上海短视频seo优化网站河北正规网站建设比较
  • 移动端网站开发最好的环境wordpress get_row
  • 上上上海网站设计网站首页设计分析
  • 网站开发合同宁波网站优化公司软件
  • 新开传奇网站3000okpython入门基础教程
  • 网站建设中英语上海建筑网站建设
  • 软件网站模板八年级微机网站怎么做
  • 网站域名注册多少钱设计制作小车
  • 中企动力科技股份有限公司合肥分公司电影网站如何做seo
  • 网站优化免费软件网页搜索优化seo
  • 西部数码网站模板如何设置wordpress静态页面
  • 目前小说网站排名微信视频制作小程序
  • 湖南建设资质申请网站宁波网站建设销售
  • h5网站建设代理苏州网站建设公司鹅鹅鹅
  • 全国设计网站公司wordpress 头像地址
  • 备案网站制作wordpress订阅关闭
  • 精品课程建设网站怎么给网站做短信
  • 网站建设用阿里还是华为云wordpress主题cms博客
  • 新手站长做装修网站如何开发一个软件
  • 网站建设目标规划淘宝客如何建设自己的网站
  • wordpress 多语言 站点头像在线制作网站
  • 不会写代码怎样做网站网站如何做视频链接
  • 广州酒店网站制作网站建设先进材料
  • 家庭宽带做网站无锡专业网站营销
  • 益阳建设网站wordpress市场