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

不再更新的网站个人网站开发

不再更新的网站,个人网站开发,三丰云免费虚拟主机,WordPress获取用户密码1. 传统的 Spring 注入方式#xff08;基于 XML 配置#xff09; 在传统的 Spring 中#xff0c;依赖注入#xff08;DI#xff09;通常通过 XML 配置文件来进行管理。常见的方式有两种#xff1a; 通过 property 元素进行属性注入#xff1a; bean id基于 XML 配置 在传统的 Spring 中依赖注入DI通常通过 XML 配置文件来进行管理。常见的方式有两种 通过 property 元素进行属性注入 bean idcar classcom.example.Carproperty nameengine refengine//bean通过 constructor-arg 元素进行构造器注入 bean idcar classcom.example.Carconstructor-arg refengine//bean这些注入方式的核心思想是 控制反转IoC即 Spring 容器负责管理类的实例化和依赖关系的注入。 2. Spring Boot 中的自动装配机制 在 Spring Boot 中自动装配机制通过 Autowired 注解简化了开发过程消除了 XML 配置的复杂性。以下是其基本的工作原理 2.1 Autowired 注解 Autowired 注解可以用来自动装配 Bean。在 Spring Boot 中容器会根据类型自动找到匹配的 Bean 并注入到指定字段、构造函数或方法中。 字段注入 Autowiredprivate Car car;构造器注入推荐的方式 private final Car car;Autowiredpublic MyService(Car car) {this.car car;}2.2 自动配置的原理EnableAutoConfiguration Spring Boot 的自动配置通过 EnableAutoConfiguration 注解启动。这是一个非常重要的注解负责启用 Spring Boot 的自动配置功能。背后涉及的几个关键步骤如下 EnableAutoConfiguration 注解会触发 AutoConfigurationImportSelector 类的加载AutoConfigurationImportSelector 类的作用是根据条件筛选出需要自动配置的类。AutoConfigurationImportSelector.selectImports() 方法负责从多个候选配置类中筛选出需要导入的类。最终这些类会被注册为 Spring 容器的 Bean。 2.3 自动配置类的加载过程 自动配置类的筛选和加载过程较为复杂但可以总结为以下几个步骤 加载候选配置类通过 getCandidateConfigurations() 方法Spring Boot 会加载出所有可能的自动配置类。从 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 中读取配置在 Spring Boot 启动时会读取 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件中的内容这个文件列出了所有的自动配置类的全类名。将自动配置类注册为 Bean这些自动配置类会被加载并注册为 Spring 上下文中的 Bean从而实现自动装配。 2.4 Component 注解与自动装配 在 Spring 中可以通过 Component 及其派生注解如 Controller、Service、Repository 等来声明一个类为 Bean。Spring Boot 在启动时会扫描带有这些注解的类并将其自动注册到 Spring 容器中。 Component public class MyBean {// Bean 的逻辑 }这些 Bean 可以通过 Autowired 注解自动注入到其他类中。 2.5 自动装配的条件控制Conditional Spring Boot 还提供了条件装配机制。使用 Conditional 注解可以让开发者根据某些条件决定是否进行自动配置。例如ConditionalOnProperty 可以根据配置文件中的某些属性值来决定是否装配某个 Bean。 Configuration ConditionalOnProperty(name my.feature.enabled, havingValue true) public class MyAutoConfiguration {// 如果配置了 my.feature.enabledtrue则这个配置会生效 }3. 总结 Autowired 注解通过注解自动注入 BeanSpring Boot 会自动进行依赖注入无需显式配置。EnableAutoConfiguration这是 Spring Boot 实现自动配置的核心负责自动配置 Bean 并将其注入到容器中。自动配置的加载机制Spring Boot 通过 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件来加载自动配置类并根据条件决定是否加载。Component 等注解通过这些注解声明 BeanSpring Boot 会自动进行类扫描并将其加入容器。 4.DI注入的理解 传统的Spring注入是通过Spring XML配置文件中的 bean 标签中的 property 进行设值注入也可以通过 constructor-arg 进行构造器注入这两种方式都是控制反转IoC的注入方式即通过外部容器管理对象的依赖关系。 现在有了 Autowired 注解后想要注入对象首先需要确定Bean对象。可以通过 Component、Controller、Service、Repository 等注解来定义Bean对象。接着在需要注入的字段上添加 Autowired 注解实现自动装配。 Spring会通过启动类上的 SpringBootApplication 注解找到类内部的 EnableAutoConfiguration 注解这个注解负责自动装配。具体来说EnableAutoConfiguration 注解通过 Import(AutoConfigurationImportSelector.class) 导入 AutoConfigurationImportSelector 类该类负责筛选出需要自动配置的类。 在 AutoConfigurationImportSelector 类中有一个 selectImports 方法该方法的作用是将筛选出来的类名对应的Bean对象注入到IOC容器中实现自动装配。筛选的条件是通过一个配置文件来确定的。要找到这个配置文件需要查看 selectImports 方法中的 autoConfigurationEntry该方法通过 getAutoConfigurationEntry 实现。进一步跟踪 getAutoConfigurationEntry 方法可以看到它返回一个 AutoConfigurationEntry 对象其中有一个参数 configurations这个 configurations 是由 getCandidateConfigurations 方法实现的。继续跟踪 getCandidateConfigurations 方法可以看到返回值 configurations 是由 ImportCandidates.load 方法实现的该方法的参数是 AutoConfiguration.class 配置类。 在报错信息中可以看出这些配置类的全类名最终会存储在 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件中。因此通过这一系列调用Spring Boot会自动装配这些类并将它们生成为相应的Bean对象。 Spring Boot 的自动装配大大简化了开发流程避免了大量的配置工作开发者只需关注业务逻辑即可。
http://www.tj-hxxt.cn/news/135738.html

相关文章:

  • 做效果图网站有哪些vue做企业网站
  • 企业做网站需要多少钱重庆网络货运平台
  • 佛山市网站建设平台现在北京能不能去
  • 网站图片设计制作2021最火电商平台
  • 摄影网站建设公司wordpress中文语言包
  • 温州外贸网站制作长沙网页制作网站
  • 陕西省平安建设网站市场推广方法
  • 深圳网站建设好凡客官网免费制作小程序
  • 百度提交网站入口北京舞美设计制作公司
  • wap网站建设方案 pdf有没有哪个网站怎么做动漫新闻的
  • 织梦建设网站需要什么软件移动端网站 优帮云
  • 商洛网站建设公司网站建设需要哪些东西
  • wow做宏的网站google引擎免费入口
  • 山西省城乡住房建设厅网站云之创网站建设
  • 中小企业网站建设费用国外做vj的网站
  • 外国人做的篆字网站西安软件公司排名
  • 现在网站后台有哪几种模板形式.net网站源码下载
  • 如何用html制作网站北京四大设计院
  • 个人网站设计案例恒华大厦做网站公司
  • 宁波网站推广软件哪家强wordpress获取所有分类
  • 设计网站考虑哪些因素防火墙放行图片域名
  • 厦门橄榄网站建设国内新闻热点事件
  • 福建省住房和城乡建设厅网站电话seo是网络优化吗
  • 网站流量盈利模式wordpress媒体库地址
  • 网站规划与建设重点内容网站建设5000费用
  • 广东省做网站推广公司wordpress 行业模版
  • 做流量网站怎么做推广普通话的宣传语
  • 改图网网站谁做的织梦做中英文网站步骤
  • 三金网手机网站表格制作教程 步骤
  • 网站建设商品的分类网站开发有什么语言