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

邙山郑州网站建设淘宝网站建设步骤

邙山郑州网站建设,淘宝网站建设步骤,知名网站网页设计特色,qq刷网站空间一、Spring Boot的自动配置原理 Spring Boot使用一种称为“约定优于配置”的方法#xff0c;这意味着如果你按照预定的方式来安排你的代码和依赖项#xff0c;Spring Boot可以自动配置你的应用程序。主要特点包括#xff1a; 自动检测#xff1a;Spring Boot在应用启动时…一、Spring Boot的自动配置原理 Spring Boot使用一种称为“约定优于配置”的方法这意味着如果你按照预定的方式来安排你的代码和依赖项Spring Boot可以自动配置你的应用程序。主要特点包括 自动检测Spring Boot在应用启动时会自动检测添加到项目中的jar依赖并基于这些依赖尝试推断需要配置哪些Bean。例如如果Spring Boot检测到classpath中包含Spring Web MVC通过spring-webmvc jar它会自动配置你的应用程序为一个web应用注册必要的Controller、ViewResolver等Bean。自动配置Spring Boot提供了大量的自动配置这些配置尝试根据classpath下的库自动设置Spring应用。这包括内嵌服务器的配置、数据源、事务管理等。用户可以通过添加自定义属性来覆盖这些自动配置的默认设置 二、Spring Boot自动配置原理源码 SpringBoot的自动配置原理源码口是SpringBootApplication注解这个注解封装了3个注解 1.SpringBootConfiguration 描述这是一个特化的Configuration注解它标记了一个类作为Spring Boot应用的配置类。Configuration注解本身表明这个类可以使用Spring IoC容器作为bean定义的来源。 2. ComponentScan 作用这个注解告诉Spring从哪里开始扫描组件所以它会自动发现和注册Spring容器中的bean。默认情况下它会扫描SpringBootApplication所在的包及其子包中的所有类。用途这允许开发者通过注解如Component、Service、Repository和Controller等自动注册bean无需显式书写bean的注册代码。 3. EnableAutoConfiguration 重要性这是Spring Boot的自动配置魔法所在。该注解利用Spring的条件注解如Conditional来自动配置bean假设根据类路径下的jar依赖、已定义的bean以及各种属性设置条件成立的话。实现机制 Import注解它导入AutoConfigurationImportSelector这个选择器通过读取META-INF/spring.factories文件中的配置来自动选择配置类。这些配置类通常包括针对Spring Boot应用优化的自动配置类这些类会配置如数据源、事务管理器、web配置等常见的功能。AutoConfigurationPackage这个注解自动注册了配置类所在的包这有助于确定需要自动配置的基本包。实际上这个注解负责注册一个特殊的注册器它会把主配置类即SpringBootApplication所在的类所在的包注册到Spring IoC容器中。 这个流程使得Spring Boot应用可以几乎不需要任何显式配置就快速启动和运行。通过这些自动配置的能力开发者可以将更多的精力集中在业务逻辑上而非配置上大大提高了开发效率和应用的启动速度。这种设计也是Spring Boot广受欢迎的重要原因之一 三、如何覆盖默认的自动配置 虽然自动配置大大简化了应用的配置工作但有时候你可能需要修改默认的行为或覆盖自动配置的一部分。你可以通过以下方式做到这一点 指定属性在application.properties或application.yml中指定不同的属性值。 添加自定义Configuration类自定义配置类可以定义额外的bean或使用Primary注解覆盖自动配置的bean。 你可以在你的启动类上使用ComponentScan注解来指定Spring Boot扫描其他包。例如如果你的启动类在com.example.demo包中而你想加载com.bite.autoconfig包中的配置你可以这样做 package com.example.demo;import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan;SpringBootApplication ComponentScan(basePackages {com.example.demo, com.bite.autoconfig}) public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);} }使用Import注解直接在你的配置类上使用Import来导入特定的配置类这将覆盖自动配置。 如果你知道具体的配置类可以直接在启动类或任何配置类上使用Import来显式地导入配置。这适用于需要导入具体配置类的场景 package com.example.demo;import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Import; import com.bite.autoconfig.BiteConfig;SpringBootApplication Import(BiteConfig.class) public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);} }使用SpringBootApplication的scanBasePackages SpringBootApplication注解本身包含了ComponentScan的功能。因此你也可以直接在这个注解中指定要扫描的包 package com.example.demo;import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication(scanBasePackages {com.example.demo, com.bite.autoconfig}) public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);} }处理第三方JAR包 对于第三方JAR包中的Bean如果它们不是通过Spring的方式配置比如使用Spring Boot的自动配置你可能需要创建自己的配置类来实例化这些Bean。例如如果一个第三方库提供了一个服务你可以创建一个配置类在那里创建一个Bean实例 package com.example.demo.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import third.party.LibraryClass;Configuration public class ThirdPartyConfig {Beanpublic LibraryClass libraryClass() {return new LibraryClass();} }
http://www.pierceye.com/news/867024/

相关文章:

  • 上海网站建设q.479185700強成都上界品牌设计事务所
  • 产品设计优秀网站做网站申请多少类商标
  • 中国行业网站贵州网站建设seo优化
  • 网站部兼容ie6没有防盗链的网站
  • google网站推广网站自助平台
  • 外贸自建站多久能出单wordpress的pdf阅读
  • 深圳东莞的网站建设公司网店代运营哪里好
  • 做费网站wordpress折叠代码
  • 分析海报的网站企业网站服务费怎么做记账凭证
  • 海南建设大厅网站888网创
  • aspnet网站开发实例项目河南网站建设推广
  • ppt免费模板大全网站微网站建设网站
  • 郑州网站建设七彩科技网络服务器配置设计
  • 专业企专业企业网站设计洛阳青峰网络
  • 网站开发需要多少钱如何销售管理系统需求分析
  • 西安网站建设查派9861云南网站建设
  • 做微商网站制作网站曝光率
  • 平价网站平价网站建设建设百度电话号码
  • 有哪些做拎包入住的网站中国建设银行网站会员用户名
  • 用模板搭建的网站备案吗wordpress热门文章调用
  • 有哪些电商网站中山视角做网站的公司
  • 做网站 点击跳转html菜鸟教程下载
  • 苏州做公司网站设计的公司嘉盛建设集团官方网站
  • 建设银行e路护航官方网站登陆医疗网站做药品是干嘛
  • 十堰h5响应式网站西安网站制作厂家
  • 建设银行官方网站企业网银手机网站怎么dw做
  • 简单自适应网站wordpress联系表格
  • 雄县没有做网站的公司广告设计与制作就业率
  • 网站找谁做贵州网架公司
  • 做纸箱在什么网站找客户wordpress默认导航栏