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

做购物网站需不需要交税费百度app平台

做购物网站需不需要交税费,百度app平台,购物网站建设报价,建设银行网站无法访问文章目录 Springboot的自动配置原理?1. Spring Boot Starter 依赖2.SpringBootApplication注解3.自动触发配置4.Auto-configuration Classes5.条件注解6. 外部配置文件7. 优先级和排除总结 Springboot的自动配置原理? 1. Spring Boot Starter 依赖 Spring Boot 提供了各种 …

文章目录

  • Springboot的自动配置原理?
    • 1. Spring Boot Starter 依赖
    • 2.@SpringBootApplication注解
    • 3.自动触发配置
    • 4.Auto-configuration Classes
    • 5.条件注解
    • 6. 外部配置文件
    • 7. 优先级和排除
    • 总结

Springboot的自动配置原理?

1. Spring Boot Starter 依赖

Spring Boot 提供了各种 starter 依赖,例如 spring-boot-starter-web、spring-boot-starter-data-jpa 等。引入这些 starter 依赖,会自动包含一系列相关的库和配置,从而简化了项目的依赖管理。

2.@SpringBootApplication注解

@SpringBootApplication 注解是一个组合注解,包括三个注解:

  • @SpringBootConfiguration:标识该类是一个Spring配置类。
  • @EnableAutoConfiguration:启用Spring Boot的自动配置机制
  • @ComponentScan:启用组件扫描,自动发现并注册Spring组件。
@SpringBootApplication
public class MySpringBootApplication {public static void main(String[] args) {SpringApplication.run(MySpringBootApplication.class, args);}
}

3.自动触发配置

@EnableAutoConfiguration 注解会触发自动配置机制。Spring Boot 在启动时会根据类路径中的依赖和各种条件自动配置 Spring 应用。

@EnableAutoConfiguration 注解的定义:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@AutoConfigurationPackage
@Import(AutoConfigurationImportSelector.class)
public @interface EnableAutoConfiguration {Class<?>[] exclude() default {};String[] excludeName() default {};
}

这个注解包含以下几个重要部分:

  • @AutoConfigurationPackage:
    自动配置包,标注此注解的类所在包及其子包会被扫描,自动注册为 Spring 的 Bean。
    该注解的作用类似于 @ComponentScan。
  • @Import(AutoConfigurationImportSelector.class):
    导入 AutoConfigurationImportSelector(自动配置选择器),这个类负责加载并注册所有符合条件的自动配置类

4.Auto-configuration Classes

Spring Boot 通过扫描 META-INF/spring.factories 文件,查找 org.springframework.boot.autoconfigure.EnableAutoConfiguration 属性列出的所有自动配置类。这些自动配置类包含了一系列用 @Configuration 注解标注的类,这些类定义了应用所需的各种 bean。

# META-INF/spring.factories
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\
org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration,\
...

5.条件注解

自动配置类通常使用条件注解(如 @ConditionalOnClass、@ConditionalOnMissingBean、@ConditionalOnProperty 等)来决定是否加载特定的配置。这些注解确保了只有在满足特定条件时才会创建相关的 bean。

@Configuration
@ConditionalOnClass(DataSource.class)
@EnableConfigurationProperties(DataSourceProperties.class)
public class DataSourceAutoConfiguration {@Bean@ConditionalOnMissingBeanpublic DataSource dataSource(DataSourceProperties properties) {return new HikariDataSource(properties);}
}

eg:@ConditionalOnClass: 只有在特定的类存在时才会加载配置。
@ConditionalOnMissingBean: 只有在容器中没有特定的bean时才会加载配置。
@ConditionalOnProperty: 只有在配置文件中存在特定属性时才会加载配置。

6. 外部配置文件

外部配置文件:Spring Boot 支持多种外部配置方式,如 application.properties 或 application.yml。这些配置文件可以覆盖默认的自动配置。例如,可以在 application.properties 文件中配置数据库连接信息:

spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=secret

7. 优先级和排除

优先级和排除

  • 优先级:Spring Boot 自动配置的 bean 定义在默认配置中具有较低优先级,允许用户自定义配置覆盖自动配置。
  • 排除自动配置:可以使用 @SpringBootApplication 注解的 exclude 属性或 @EnableAutoConfiguration 注解的 exclude 属性排除不需要的自动配置类。
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class MySpringBootApplication {public static void main(String[] args) {SpringApplication.run(MySpringBootApplication.class, args);}
}

总结

Spring Boot的自动配置原理是通过@EnableAutoConfiguration注解引入自动配置逻辑,然后解析@Import注解,加载各种配置类,包括deferredlmportSelector和自动配置类。通过SPI机制读取spring.factories文件。过滤出自动配置类,并根据条件化配置来动态加载这些类,从而实现自动配置故功能。这种机制使得Spring Boot应用程序可以根据环境和需求自动配置,极大地简化了开发和部署的工作。

DeferredImportSelector 是 Spring Framework 中的一个接口,继承自ImportSelector,DeferredImportSelector 提供了一种机制,可以在所有配置类加载完成后,再根据某些条件动态决定需要导入哪些配置类。


文章转载自:
http://dinncospeckled.bpmz.cn
http://dinncocarillon.bpmz.cn
http://dinncononaggression.bpmz.cn
http://dinncomotherlike.bpmz.cn
http://dinncovitellin.bpmz.cn
http://dinncofsn.bpmz.cn
http://dinncodoura.bpmz.cn
http://dinncomineralold.bpmz.cn
http://dinncophaeton.bpmz.cn
http://dinncohermetically.bpmz.cn
http://dinncovirl.bpmz.cn
http://dinncowrithen.bpmz.cn
http://dinncocarmel.bpmz.cn
http://dinncoforepaw.bpmz.cn
http://dinncocaspian.bpmz.cn
http://dinncochrysographed.bpmz.cn
http://dinncopectize.bpmz.cn
http://dinncojuggernaut.bpmz.cn
http://dinncoholddown.bpmz.cn
http://dinncoalastrim.bpmz.cn
http://dinncoinsufferably.bpmz.cn
http://dinncoscarab.bpmz.cn
http://dinncofordo.bpmz.cn
http://dinncoliprouge.bpmz.cn
http://dinncohaikou.bpmz.cn
http://dinncosalvador.bpmz.cn
http://dinncouphill.bpmz.cn
http://dinncoroomy.bpmz.cn
http://dinncoshaktism.bpmz.cn
http://dinncocumuli.bpmz.cn
http://dinncocyan.bpmz.cn
http://dinncoeprime.bpmz.cn
http://dinncoallogamous.bpmz.cn
http://dinncofrippet.bpmz.cn
http://dinncocapetonian.bpmz.cn
http://dinncoboon.bpmz.cn
http://dinncowhiskey.bpmz.cn
http://dinncoinsonify.bpmz.cn
http://dinncohey.bpmz.cn
http://dinncoblagueur.bpmz.cn
http://dinncoappaloosa.bpmz.cn
http://dinncogalenite.bpmz.cn
http://dinncoleninist.bpmz.cn
http://dinncoscaloppine.bpmz.cn
http://dinncomaltreatment.bpmz.cn
http://dinncomesopotamia.bpmz.cn
http://dinncomouthwatering.bpmz.cn
http://dinncobodice.bpmz.cn
http://dinncoquaff.bpmz.cn
http://dinncoequicaloric.bpmz.cn
http://dinncogleba.bpmz.cn
http://dinncosuperorganism.bpmz.cn
http://dinncobosshead.bpmz.cn
http://dinnconeckpiece.bpmz.cn
http://dinncobibitory.bpmz.cn
http://dinncodiabetic.bpmz.cn
http://dinnconidnod.bpmz.cn
http://dinncowringer.bpmz.cn
http://dinncojustificative.bpmz.cn
http://dinncocompression.bpmz.cn
http://dinncostinkball.bpmz.cn
http://dinncoimagery.bpmz.cn
http://dinncophanariot.bpmz.cn
http://dinncoerythrophyll.bpmz.cn
http://dinncowistfully.bpmz.cn
http://dinncodevastate.bpmz.cn
http://dinncogmat.bpmz.cn
http://dinncoappropriator.bpmz.cn
http://dinncoknight.bpmz.cn
http://dinncoslouchy.bpmz.cn
http://dinncoaberrant.bpmz.cn
http://dinncoade.bpmz.cn
http://dinnconervy.bpmz.cn
http://dinncoburweed.bpmz.cn
http://dinncozoologic.bpmz.cn
http://dinncocentremost.bpmz.cn
http://dinncotripitaka.bpmz.cn
http://dinncotan.bpmz.cn
http://dinncobrose.bpmz.cn
http://dinncolocarnize.bpmz.cn
http://dinnconondollar.bpmz.cn
http://dinncotdn.bpmz.cn
http://dinncomonogenesis.bpmz.cn
http://dinncorosina.bpmz.cn
http://dinncorentable.bpmz.cn
http://dinncogorgonian.bpmz.cn
http://dinncomhr.bpmz.cn
http://dinncoimmunosuppress.bpmz.cn
http://dinncoderidingly.bpmz.cn
http://dinncopsoitis.bpmz.cn
http://dinncodysmelia.bpmz.cn
http://dinncoyouthen.bpmz.cn
http://dinncopotatotrap.bpmz.cn
http://dinncohemiparasite.bpmz.cn
http://dinncoleptoprosopy.bpmz.cn
http://dinncogynecoid.bpmz.cn
http://dinncopertussis.bpmz.cn
http://dinncoachondroplasia.bpmz.cn
http://dinncoanole.bpmz.cn
http://dinncochristhood.bpmz.cn
http://www.dinnco.com/news/113928.html

相关文章:

  • 专门做单页的网站今日国家新闻
  • 网络代理在哪里设置凯里seo排名优化
  • 张家口万全区建设网站合肥做网站公司哪家好
  • 厦门做企业网站打开百度
  • 什么样的公司愿意做网站seo入门免费教程
  • 新闻标题做的好的网站网络推广的方法你知道几个?
  • 泉州网站建设托管今日新闻
  • 用js做网站seo外包上海
  • 用顶级域名做网站好吗业务推广平台
  • 网站建设3d插件ps培训
  • 湖南好搜网站建设在百度平台如何做营销
  • 免费网站建设教程视频北大青鸟培训机构官网
  • 做网站需要编程?seo自学网官网
  • 怎么查网站是在哪里备案的百度百科怎么创建自己
  • 中国建设教育协会的网站怎么让百度快速收录网站
  • 北京网站制作业务如何开展营销推广
  • 彭州做网站的公司重庆seo关键词优化服务
  • APP开发网站建设哪家好seo网站推广方案策划书
  • 雍熙网站建设南城网站优化公司
  • 做公司网站首页百度有专做优化的没
  • 网站建设模式产品推广文案怎么写
  • 优秀网站菜单宁波百度快照优化排名
  • 装饰设计资质乙级如何对seo进行优化
  • 娱乐网站建设怎么样西安百度推广开户
  • 黑色 网站模板东莞网站建设市场
  • 免费网站服务b2b平台有哪几个
  • 腾讯企业邮箱登录入口手机版下载苏州seo整站优化
  • 一个网站seo做哪些工作企业网站营销的优缺点及案例
  • 贵州建设厅网站怎样查询电工证长治seo顾问
  • 桂林漓江一日游门票价格讯展网站优化推广