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

咸阳做企业网站现在写博客还是做网站

咸阳做企业网站,现在写博客还是做网站,建设网站经验,个人网站设计规划书自动装配 spring boot的自动装配#xff08;auto configuration#xff09;是通过spring framework的依赖注入#xff08;dependency injection, DI#xff09;和配置类的组合来实现的。 spring boot 的自动装配机制可以简化应用的配置过程#xff0c;是开发者不再需要手…自动装配 spring boot的自动装配auto configuration是通过spring framework的依赖注入dependency injection, DI和配置类的组合来实现的。 spring boot 的自动装配机制可以简化应用的配置过程是开发者不再需要手动创建配置文件或管理bean. 而是通过注解和配置类自动完成。 springboot 自动装配的原理依赖注入的核心注解自动配置类的加载机制SpringBootApplication注解详解自定义配置和自动配置的关系常见的自动装配场景总结 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 {BeanConditionalOnMissingBeanpublic DataSource dataSource(DataSourceProperties properties) {// 创建 DataSource Bean} }当项目中引入了数据库依赖如 HikariCPDataSourceAutoConfiguration 会自动配置一个 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.enabledfalse 可以禁用数据源的自动配置。自定义 Configuration 类可以通过编写自定义的 Configuration 类来覆盖默认的自动配置。Import可以手动导入一些自动配置类来精确控制自动配置的内容。 常见的自动装配场景 数据库配置通过引入 spring-boot-starter-data-jpa 或 spring-boot-starter-jdbcSpring Boot 自动配置数据源、JPA 实体管理等。Web 框架配置引入 spring-boot-starter-webSpring Boot 会自动配置 DispatcherServlet、Jackson 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://www.dnsts.com.cn/news/153739.html

相关文章:

  • 学校html网站模板厦门企业网站制作
  • 英语故事网站建设网站开发 请示
  • 网站前台登录模板公司网站建设需要什么资质
  • 何炅做的网站广告济南泰安网站建设公司
  • 苏州工业园区劳动局网站做不了合同域名解析查询工具
  • 做公益网站需要什么资质接广告的网站
  • 手机网站导航页彩票网站给实体店做代销
  • 阿克苏建设局网站网页美工素材
  • 中英互译网站怎么做it运维需要具备哪些能力
  • 个人备案网站能用公司新网域名注册
  • 最火爆的国际贸易网站提供网站推广公司电话
  • 建设通招标网站上海专业建站最低价
  • 做平面设计都关注哪些网站企业网站优化策略
  • 一般做网站用什么字体比较合适手机版oa系统
  • 网站建设需要摊销多久百度推广官方
  • 网站整站优化深圳口碑最好的装修公司
  • 广州白云区网站开发建设景区网站的目的
  • 动漫网站建设目的搜索优化的培训免费咨询
  • 网站建设 官网python采集更新wordpress
  • 彩票网站上的走势图是怎么做的联想公司网站建设现状
  • 数商云电子商务网站建设正规劳动合同模板免费
  • 网站建设策划书编制crazyuncle WordPress
  • 网站建设工具的种类株洲市
  • 英文版网站制作wordpress改页面
  • 网页建设与网站设计ps 如何做网站
  • 郑州建设网站设计重庆微网站开发公司
  • 开发技术网站开发技术wordpress 淘宝客网站
  • 无锡自适应网站开发推广策划
  • 泸州北京网站建设宁波seo公司网站推广
  • 腾讯轻量应用服务器建站模板html 门户网站模板