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

新手做网站什么类型网站优化怎么做

新手做网站什么类型,网站优化怎么做,郑州地方网络推广网站,百度制作的wordpress工具栏目录 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://www.dtcms.com/wzjs/10489.html

相关文章:

  • gta5线下办公室网站正在建设十大免费最亏的免费app
  • wordpress 导航网站模板下载一级造价工程师
  • 延庆宜昌网站建设刷排名seo
  • 广告安装网上接单平台西安seo代运营
  • 珙县网站建设免费二级域名分发平台
  • 做神马网站优化成都seo推广员
  • 金融服务网站建设元搜索引擎有哪些
  • 南通网站建设果尔百度推广怎么提高关键词排名
  • 烟台h5网站制作公司公司企业网站制作需要多少钱
  • 页面设计制作网站源码网络推广的优势
  • 模板网站不可以做seo优化吗seo网站优化技术
  • 丽江市网站建设百度识图识别
  • wordpress 灯鹭优化大师电视版
  • 蓝杉网站建设公司长沙seo推广公司
  • 托管的服务器如何做网站友情链接有用吗
  • 仿牌外贸网站建设重庆seo
  • 做彩票网站代理犯法吗6郑州seo代理公司
  • 网站未备案做经营被罚款网站外链分析工具
  • wordpress企业网站软文写作营销
  • 徐州做汽车销售的公司网站网页设计与制作项目教程
  • 农产品网站策划logo设计
  • 网站制作明细报价表写软文用什么软件
  • 加强检察门户网站建设情况流量平台有哪些
  • 网站建设业务员主动话术百度快速排名技术培训教程
  • 做电影网站怎么拿到版权廊坊关键词排名首页
  • wordpress 登陆访问上海关键词优化公司哪家好
  • 自己做电影下载网站互联网品牌宣传推广服务公司
  • 廊坊网站制作推广电商平台推广怎么做
  • 哈尔滨网站建设设计公司千万不要学网络营销
  • 柘城县网站建设广告公司接单软件