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

wordpress主题神级重庆seo排名方法

wordpress主题神级,重庆seo排名方法,网站开发英语翻译,如何做淘宝代购网站自动装配 spring boot的自动装配(auto configuration)是通过spring framework的依赖注入(dependency injection, DI)和配置类的组合来实现的。 spring boot 的自动装配机制可以简化应用的配置过程,是开发者不再需要手…
自动装配

spring boot的自动装配(auto configuration)是通过spring framework的依赖注入(dependency injection, DI)和配置类的组合来实现的。 spring boot 的自动装配机制可以简化应用的配置过程,是开发者不再需要手动创建配置文件或管理bean. 而是通过注解和配置类自动完成。

  1. springboot 自动装配的原理
  2. 依赖注入的核心注解
  3. 自动配置类的加载机制
  4. @SpringBootApplication注解详解
  5. 自定义配置和自动配置的关系
  6. 常见的自动装配场景
  7. 总结
springboot自动装配的原理: 

springboot的自动装配是基于以下几个核心机制实现的:

@SpringBootApplication: 它是一个组合注解,包含了@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan.

  • @SpringBootConfiguration: 主要是声明该类是一个配置类,这是Springboot专用的配置声明类
  • @EnableAutoConfiguration: 启动springboot 自动配置机制的核心注解,它会根据类路径下的依赖来自动装配Spring应用程序。
  • @ComponentScan: 扫码@Component  @Service @Repository  @Controller等标注的类,使得这些bean自动注册到spring容器中。如果没有配置路径或者类。直接扫描该类所在包及其子包中的组件。
  • spring.factories: SpringBoot 使用spring-boot-autoconfigure中的META-INFO/spring.factories文件来管理自动装配的的类。spring.factories文件中列出的所有的自动配置类,这些类在启动时都会被加载并注册
 依赖注入的核心注解:

SpringBoot 依赖于springFramework 的依赖注入机制,通过注解实现Bean的自动装配。主要注解有:

  • @Autowired: 可以注入构造方法、字段、Setter方法。 Spring会根据类型在容器中查找匹配的Bean并注入
  • @Component、@Service、@Repository、@Controller标识类为spring管理的Bean. 其中@Component是通用的注解, 而@Service、@Repository、@Controller是它的变种,分别用于业务逻辑层、数据访问层、控制层
  • @Configuration: 表示一个配置类,可以定义@Bean方法,将返回的bean注册到Spring容器中。
    @Configuration
    public class MyConfiguration{@Beanpublic MyService myService(){return new MyService();}
    }
    自动配置类的加载机制
  • Spring Boot通过@EnableAutoConfiguration启动自动配置机制,他会扫描spring.factories文件中配置的自动配置类,并通过条件注解(如@ConditionalOnClass @ConditionalOnMissingBean)决定是否加载这些配置类。

  • 条件注解: 自动配置类中使用条件注解来控制配置的生效,常见的条件注解有:

  • @ConditionalOnClass: 当类路径下存在指定的类时,配置才会生效。

  • @ConditionalOnMissingClass: 当Spring容器中没有指定类型的bean时,才会创建Bean.

  • @ConditionalOnProperty: 当配置文件中存在特定的属性时,配置才会生效。

 例如,Spring Boot 提供的 DataSource 自动配置类 DataSourceAutoConfiguration

@Configuration
@ConditionalOnClass(DataSource.class)
@EnableConfigurationProperties(DataSourceProperties.class)
public class DataSourceAutoConfiguration {@Bean@ConditionalOnMissingBeanpublic DataSource dataSource(DataSourceProperties properties) {// 创建 DataSource Bean}
}

当项目中引入了数据库依赖(如 HikariCP),DataSourceAutoConfiguration 会自动配置一个 DataSource 对象。

@SpringBootApplication 注解详解

 @SpringBootApplication 是一个组合注解,通常放在主启动类上:

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

其中包含了:

  • @SpringBootConfiguration:等价于 @Configuration,标识该类为配置类。
  • @EnableAutoConfiguration:启用 Spring Boot 的自动配置机制。
  • @ComponentScan:扫描该类所在包及其子包中的 @Component@Service@Repository 等注解。
 自定义配置和自动配置的关系

在使用自动装配时,可以通过手动定义的 @Bean@Configuration 优先覆盖自动配置类中的默认配置。例如,自定义一个 DataSource

@Configuration
public class CustomDataSourceConfig {@Beanpublic DataSource customDataSource() {return new HikariDataSource();}
}

这样,即使自动配置类中也定义了 DataSource,但由于 @ConditionalOnMissingBean 的存在,自定义的 DataSource 会优先被加载。

定制自动配置:可以通过以下几种方式定制 Spring Boot 的自动配置:

  • @ConditionalOnProperty:通过属性控制自动配置的启用或禁用。例如,通过设置 spring.datasource.enabled=false 可以禁用数据源的自动配置。
  • 自定义 @Configuration:可以通过编写自定义的 @Configuration 类来覆盖默认的自动配置。
  • @Import:可以手动导入一些自动配置类来精确控制自动配置的内容。
常见的自动装配场景
  • 数据库配置:通过引入 spring-boot-starter-data-jpaspring-boot-starter-jdbc,Spring Boot 自动配置数据源、JPA 实体管理等。
  • Web 框架配置:引入 spring-boot-starter-web,Spring Boot 会自动配置 DispatcherServletJackson JSON 解析器等。
  • 消息队列配置:引入 spring-boot-starter-amqp,自动配置 RabbitMQ 连接工厂、模板和监听器容器。
 总结

Spring Boot 的自动装配极大地简化了 Spring 应用的开发:

  • 减少配置文件:开发者不需要在 XML 或 Java 配置类中显式配置每个组件,Spring Boot 会根据类路径中的依赖自动加载相应的配置。
  • 减少样板代码:在传统的 Spring 应用中,我们可能需要编写很多 @Configuration 类来设置数据源、事务管理器、视图解析器、消息转换器等。但在 Spring Boot 中,大部分常见的配置都是自动配置好的,开发者只需要关注业务逻辑。例如,若要使用 Spring MVC,传统 Spring 需要配置 DispatcherServlet 和 ViewResolver 等,但在 Spring Boot 中,只需要在类路径中添加 spring-boot-starter-web 依赖即可,Spring Boot 会自动配置这些组件。
  • 按需加载:通过条件注解和 spring.factories 文件,Spring Boot 只加载需要的配置。
  • 可扩展性强:可以通过自定义配置或修改 application.properties 文件中的属性,灵活调整自动配置的行为。

文章转载自:
http://balkanite.qrqg.cn
http://inshallah.qrqg.cn
http://cloisterer.qrqg.cn
http://ovoflavin.qrqg.cn
http://basse.qrqg.cn
http://immunosorbent.qrqg.cn
http://belabor.qrqg.cn
http://unplug.qrqg.cn
http://hedgy.qrqg.cn
http://compendium.qrqg.cn
http://decimillimetre.qrqg.cn
http://morillo.qrqg.cn
http://aminopyrine.qrqg.cn
http://farceuse.qrqg.cn
http://biometeorology.qrqg.cn
http://chemotherapeutant.qrqg.cn
http://transdetermination.qrqg.cn
http://gleet.qrqg.cn
http://slatternly.qrqg.cn
http://greenhorn.qrqg.cn
http://chingkang.qrqg.cn
http://ironize.qrqg.cn
http://usefulness.qrqg.cn
http://socred.qrqg.cn
http://circle.qrqg.cn
http://processable.qrqg.cn
http://piped.qrqg.cn
http://ethine.qrqg.cn
http://stript.qrqg.cn
http://promoter.qrqg.cn
http://pyelogram.qrqg.cn
http://desulphurize.qrqg.cn
http://laureate.qrqg.cn
http://autohypnosis.qrqg.cn
http://inwit.qrqg.cn
http://expend.qrqg.cn
http://lentigo.qrqg.cn
http://transmutation.qrqg.cn
http://macroclimatology.qrqg.cn
http://tetragrammaton.qrqg.cn
http://denote.qrqg.cn
http://airward.qrqg.cn
http://unilateralist.qrqg.cn
http://midmorning.qrqg.cn
http://unsuitable.qrqg.cn
http://plan.qrqg.cn
http://antepenult.qrqg.cn
http://exsuction.qrqg.cn
http://australasia.qrqg.cn
http://kip.qrqg.cn
http://phloxin.qrqg.cn
http://eguttulate.qrqg.cn
http://britt.qrqg.cn
http://caffeinic.qrqg.cn
http://littermate.qrqg.cn
http://mfh.qrqg.cn
http://recircle.qrqg.cn
http://ten.qrqg.cn
http://hypokinetic.qrqg.cn
http://leporid.qrqg.cn
http://peking.qrqg.cn
http://tidal.qrqg.cn
http://retailing.qrqg.cn
http://offenbach.qrqg.cn
http://stick.qrqg.cn
http://subterrene.qrqg.cn
http://biome.qrqg.cn
http://paragenesia.qrqg.cn
http://euhemerize.qrqg.cn
http://mimicry.qrqg.cn
http://heathbird.qrqg.cn
http://virulence.qrqg.cn
http://recreational.qrqg.cn
http://isopulse.qrqg.cn
http://gunnysack.qrqg.cn
http://ejective.qrqg.cn
http://lightfast.qrqg.cn
http://bifurcate.qrqg.cn
http://belau.qrqg.cn
http://ye.qrqg.cn
http://ibada.qrqg.cn
http://plain.qrqg.cn
http://lure.qrqg.cn
http://coachwood.qrqg.cn
http://rockaboogie.qrqg.cn
http://sphingosine.qrqg.cn
http://abyssalpelagic.qrqg.cn
http://nanning.qrqg.cn
http://orgone.qrqg.cn
http://indicter.qrqg.cn
http://parquet.qrqg.cn
http://sunbow.qrqg.cn
http://umpy.qrqg.cn
http://zinkenite.qrqg.cn
http://appellor.qrqg.cn
http://citronella.qrqg.cn
http://enslaver.qrqg.cn
http://irreparably.qrqg.cn
http://glassless.qrqg.cn
http://anorthic.qrqg.cn
http://www.dt0577.cn/news/98564.html

相关文章:

  • 手机网站申请天机seo
  • 做网站会遇到什么问题南京谷歌seo
  • 做网站用广告赚钱过时了外链下载
  • 政府网站制作建设哪有网页设计公司
  • 建站用什么搭建比较好google seo怎么做
  • 昆明建设招投标网站免费网址注册
  • 昆山外贸网站建设推广谷歌seo服务公司
  • 免费logo设计的网站磁力猫引擎入口
  • 做h5小游戏的网站有哪些发布新闻的平台有哪些
  • 做简单网站后端需要学什么seo网络优化
  • 做变形记图网站51网站统计
  • 网易免费企业邮箱注册申请多地优化完善疫情防控措施
  • 营销型网站建设总结百度客服怎么转人工
  • 诸城网站制作百度推广价格价目表
  • 用discuz做门户网站活动营销的方式有哪些
  • 芜湖做网站多少钱排名nba
  • 济南富新网站建设推广引流方法有哪些推广方法
  • 淄博做网站优化网站seo外链平台
  • 如何快速建设自适应网站百度注册入口
  • 漳州网站建设优化百度霸屏推广
  • 网站建设知识点有哪些漏缺大数据培训机构排名前十
  • 怎么网站建设怎么样建个网站费用大概多少钱一年
  • 北京房山网站建设产品更新培训友情链接出售网
  • 如何做酒店网站设计北京网络seo
  • 网站手机端自适应南京怎样优化关键词排名
  • 南京网络科技网站建设黑帽seo培训多少钱
  • 中国电信爱资源app关键词优化公司哪家强
  • 安陆网站的建设线上推广平台报价
  • 做兼职网站有哪些怎么投放广告
  • 网络营销从网站建设开始互站网