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

淘宝内部优惠券网站怎样做的福州企业宣传片制作公司

淘宝内部优惠券网站怎样做的,福州企业宣传片制作公司,入侵织梦网站后台,网站建设公司 跨界鱼科技专业目录 1.bean加载方式 1.1XML方式声明bean 1.2 xml 注解方式声明bean 1.3通过Configuration和Bean 1.4使用Import注解 1.5使用上下文对象在容器初始化完毕后注入bean 1.6使用ImportSelector接口 1.7实现ImportBeanDefinitionRegistrar接口 1.8bean加载方式(…

目录

1.bean加载方式

1.1XML方式声明bean

1.2 xml + 注解方式声明bean

1.3通过@Configuration和@Bean

1.4使用@Import注解

1.5使用上下文对象在容器初始化完毕后注入bean

1.6使用ImportSelector接口

1.7实现ImportBeanDefinitionRegistrar接口

1.8bean加载方式(八)

总结

2.bean加载控制

3.bean依赖属性配置

4.自动配置原理

4.1具体源码分析

5.变更自动配置


1.bean加载方式

1.1XML方式声明bean

要注意创建对象会调用它的无参构造方法!

这种定义很繁琐,所以spring为我们提供了使用注解的方式来配置!

1.2 xml + 注解方式声明bean

对于本地的bean使用注解@Component及其衍生注解@Controller,@Service,@Repository定义bean

使用@Bean定义第三方bean,并将其所在类定义为配置类或bean

1.3通过@Configuration和@Bean

  • 类上加@Component
  • 结合组件扫描器

加上@Configuration注解,其实就是加上@Component注解!

3.1.bean的加载方式——扩展

初始化实现FactoryBean接口的类,实现对bean加载到容器之前的批处理操作

3.2.bean的加载方式——扩展2

加载配置类并加载配置文件(系统迁移)

3.3bean的加载方式——扩展3

使用proxyBeanMethods=true可以保证嗲用此方法得到的对象是从容器中获取的而不是重新创建的

1.4使用@Import注解

使用@Import注解导入要注入的bean对象的字节码

而且定义进来的bean的名称是全路径类名名称

次形式可以有效降低源代码于spring技术的耦合度,在spring技术底层及诸多框架的整合中大量使用

使用@import注解导入配置类

1.5使用上下文对象在容器初始化完毕后注入bean

平时开发不常用,但是平时要做一些框架可能会用到

1.6使用ImportSelector接口

平时使用的很少但是在框架内大量使用

导入实现了ImportSelector接口的类,实现对导入源的编程式处理

1.7实现ImportBeanDefinitionRegistrar接口

导ImBeanDefinitionRegistrar接口的类,通过BeanDefinition的注册器注册实名bean,实现对容器中bean的裁定,例如对现有bean的覆盖,进而达成不修改源代码的情况下更换实现的效果

1.8bean加载方式(八)

导入实现了BeanDefinitionRegistryPostProcessor接口的类,通过BeanDefinition的注册器注册实名bean,实现对容器中bean的最终裁定。

总结


2.bean加载控制

bean的加载控制指根据特定情况对bean进行选择性加载以达到适用于项目的目标。

1.编程式

根据任意条件确认是否加载bean

每出现一种情况就要做一种判断,很复杂,需要优化。

2.注解式

匹配指定环境

加载一个bean利用环境上的特征来控制它加载与不加载


3.bean依赖属性配置

将业务功能bean运行需要的资源抽取成独立的属性类(****Properties)设置读取配置文件信息

配置文件中使用固定格式为属性类注入数据

定义业务功能bean,通常使用@Import导入,解耦强制加载bean

使用@EnableConfigurationProperties注解设定使用属性类时加载bean

  • 1.业务bean的属性可以为其设定默认值
  • 2.当需要设置时通过配置文件传递属性
  • 3.业务bean应尽量比卖你设置强制加载,而是根据需要导入后加载,降低spring容器管理bean的强度

4.自动配置原理

自动配置过程:

  • 1.收集Spring开发者的编程习惯,整理开发过程使用的常用技术列表->(技术集A)
  • 2.收集常用技术(技术A)的使用参数,整理开发过程中每个技术的常用设置列表(设置集B
  • 3.初始化Springboot基础环境,加载用户自定义的bean和导入的其他坐标,形成初始化环境
  • 4.将技术集A包含的所有技术都定义出来,在spring/springboot启动时默认全部加载
  • 5.将技术集A中具有使用条件的技术约定出来,设置成按条件加载,由默认开发者决定是否使用该技术(与初始化环境对比)
  • 6.将设置集B作为默认配置加载(约定大于配置),减少开发者配置工作量
  • 7.开放设置集B的配置覆盖接口,由开发者根据自身需要决定是否覆盖默认配置

4.1具体源码分析

Spring Boot自动配置的核心注解是@SpringBootApplication,该注解是spring boot的启动类注解,它是一个复合注解,里面包含:

1)@SpringBootConfiguration:该注解上有一个 @Configuration注解,表示这个spring boot启动类是一个配置类,最终要被注入到spring容器中。

2)@EnableAutoConfiguration:表示开启自动配置,它也是一个复合注解,里面包含:

@AutoConfigurationPackage,该注解上有一个@Import(AutoConfigurationPackages.Registrar.class)注解,会将启动类所在包的包名添加到注册器registrar中。其中 Registrar 类的作用是将启动类所在包下的所有子包的组件扫描注入到spring容器中。

@Import(AutoConfigurationImportSelector.class):其中AutoConfigurationImportSelector类中有一个getCandidateConfigurations()方法,该方法通过SpringFactoriesLoader.loadFactoryNames()方法查找位于META-INF/spring.factories文件中的所有自动配置类,并加载这些类。

spring.factories文件是以key-value键值对的形式存储文件里,其中有一个key=EnableAutoConfiguration,它对应的value值就是一个个以AutoConfiguration结尾来命名的 xxxAutoConfiguration 自动配置类。

所以spring boot在整个的启动过程中,其实就是在类路径的META-INF/spring.factories 文件中找到EnableAutoConfiguration对应的所有的自动配置类,然后将所有自动配置类加载到spring容器中。


5.变更自动配置

1.自定义自动配置(META-INF/spring.factories)

2.控制SpringBoot内置自动配置类加载

变更自动配置:去除tomcat自动配置(条件激活),添加jetty自动配置(条件激活)

总结:


文章转载自:

http://v1qXsVcn.mgzjz.cn
http://LlZ9Zzct.mgzjz.cn
http://0waO4tHK.mgzjz.cn
http://tlsrbrj6.mgzjz.cn
http://7cHWzZEb.mgzjz.cn
http://CGqgsBlJ.mgzjz.cn
http://KPx448KT.mgzjz.cn
http://kGSJV9W6.mgzjz.cn
http://VzhP5bsE.mgzjz.cn
http://CKW4euNK.mgzjz.cn
http://zg1dTLuJ.mgzjz.cn
http://HxSXugNk.mgzjz.cn
http://ljlRhXC1.mgzjz.cn
http://smyBfXqT.mgzjz.cn
http://8GWbT13u.mgzjz.cn
http://LWWu8NlO.mgzjz.cn
http://a5Ra2tp0.mgzjz.cn
http://MevdTBmv.mgzjz.cn
http://aNGDpndc.mgzjz.cn
http://7nFBThaY.mgzjz.cn
http://yjnLCRpi.mgzjz.cn
http://TxEPgNX2.mgzjz.cn
http://h4FX4msp.mgzjz.cn
http://sAaWkskl.mgzjz.cn
http://AuPGmaBq.mgzjz.cn
http://UKbrS4bz.mgzjz.cn
http://qt9BWR8S.mgzjz.cn
http://nM9VEJ8G.mgzjz.cn
http://OzTdWFyC.mgzjz.cn
http://FUgCYxXg.mgzjz.cn
http://www.dtcms.com/wzjs/628458.html

相关文章:

  • 怎么建立一个网站让外国人浏览建设网站最强
  • 腾讯云主机能给几个网站备案故事式软文广告300字
  • 专门做黄漫的网站曲靖手机网站建设
  • 网站备案有什么坏处长春模板网站建站
  • vf建设银行网站百度贴吧官网入口
  • 网站开发讲座梧州论坛手机红豆网
  • 人才招聘网站开发 源代码源码做网站教程
  • 关键词那种网站桔子seo工具
  • 河北省和城乡住房建设厅网站明年做哪个网站能致富
  • 餐馆效果图网站上海 .net网站建设
  • 小程序代理模板seo信息网
  • 郑州做网站hnqfu网站建设工期安排表
  • 新网 网站建立百度搜索广告价格
  • 东莞网站建制作公司网站建设比较好的公司
  • 免费浏览的不良网站比较好的前端网站
  • 如何在局域网内做网站策划公司起名
  • 美发营销型网站一级a做爰片视频免费观看网站
  • 常州青竹网络做网站3d建模软件有哪些
  • 嘉兴电子商务网站建设瑞安网站建设优化
  • 石家庄个人建站网站策划建站制作企业
  • 凡科建站电话咨询软装设计用什么软件
  • 服务器网站建设建站教程pdf
  • 电影网站带采集哪个建站系统适合外贸网站建设
  • 中文个人网站欣赏怎么用域名建网站
  • 网站设计版式什么是企业营销型网站?
  • php做网站完整视频学设计的基础是什么
  • 沈阳求做商城 网站做网站运营工资是不是很低
  • 做网站江西商务网站设计实训报告
  • 网站建设与设计意义网站关键词描述
  • 网站名称 域名wordpress个人站主题