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

网站专题教程百度网络电话

网站专题教程,百度网络电话,棋牌app开发软件,营销网站定制前言 大概10来年以前,当时springboot刚刚出现并没有流行,当时的Java开发者们开发Web应用主要是使用spring整合springmvc或者struts、iBatis、hibernate等开发框架来进行开发。项目里一般有许多xml文件配置,其中配置了很多项目中需要用到的Be…

前言

大概10来年以前,当时springboot刚刚出现并没有流行,当时的Java开发者们开发Web应用主要是使用spring整合springmvc或者struts、iBatis、hibernate等开发框架来进行开发。项目里一般有许多xml文件配置,其中配置了很多项目中需要用到的Bean,扫描的路径等等,类似下面这样:
https://www.chengpei.top/upload/spring-xml.png
看起来很麻烦,但是相比于让我们自己在代码里自己构建各种对象,自己的set各种属性,自己维护大量对象的依赖关系使用,这样预先配置交给Spring管理,后续采用依赖注入的方式在需要的地方拿来使用的方式,已经是相当的舒服了。

SpringBoot

SpringBoot框架的命名关键在"Boot"上,或许Boot Spring更能说明这个微框架设计的初衷,也就是快速启动一个Spring应用。快在哪里呢,这里如果我们要在项目里整合Redis,则只需要添加如下的依赖:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

然后添加上redis的连接参数,就可以需要操作Redis的地方注入RedisTemplate对象来使用了,不需要在xml中配置RedisConnectionFactoryRedisTemplate等相关依赖的类了。

spring-boot-autoconfigure

这里有个比较关键的依赖spring-boot-autoconfigure,里面有一个RedisAutoConfiguration

@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(RedisOperations.class)
@EnableConfigurationProperties(RedisProperties.class)
@Import({ LettuceConnectionConfiguration.class, JedisConnectionConfiguration.class })
public class RedisAutoConfiguration {@Bean@ConditionalOnMissingBean(name = "redisTemplate")public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory)throws UnknownHostException {RedisTemplate<Object, Object> template = new RedisTemplate<>();template.setConnectionFactory(redisConnectionFactory);return template;}@Bean@ConditionalOnMissingBeanpublic StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory)throws UnknownHostException {StringRedisTemplate template = new StringRedisTemplate();template.setConnectionFactory(redisConnectionFactory);return template;}
}

这里的@ConditionalOnClass是一个基于条件的配置,在满足条件时会加载当前配置类,类似的注解在org.springframework.boot.autoconfigure.condition包下还有许多,例如:
@ConditionalOnClass
@ConditionalOnBean
@ConditionalOnMissingClass
@ConditionalOnMissingBean
@ConditionalOnProperty

有了这些注解的配合,我们就可以结合@EnableAutoConfigurationn实现基于条件的自动配置了。
SpringBoot之所以能够流行,很大一部分功劳需要归功于它预先提供的一系列自动配置的依赖模块,而这些依赖模块都是基于以上注解实现的,这也意味着所有的这些依赖模块都是按需加载的,只有符合某些特定条件,这些依赖模块才会生效,这也就是我们所谓的“智能”自动配置。

spring.factories

例如以上redis自动配置的例子,这里只要环境中有RedisOperations就会自动配置Redis相关类,你可以在这个自动配置类附近找到许多这样的xxxxAutoConfiguration,很多组建都可以类似这样通过引入依赖后直接使用,但是如果只有自动配置类的话,其实这个类也不会被加载,因为我们在启动SpringBoot应用时,使用的@SpringBootApplication注解,他只会自动扫描当前包以及子包下的类,如果扫描不到自然也不会加载了,所以这里还要配合META-INF/spring.factories文件,文件中配置了所有需要被扫描到的自动装配类,SpringBoot应用启动时,会由SpringFactoriesLoader取读取该文件加载,这里比较像Java SPI机制,对Java SPI感兴趣也可以看看这篇博文:Java SPI机制介绍及原理分析
以上就是SpringBoot核心功能Starter的一个介绍,下一篇博文(实现一个自己的spring-boot-starter,基于SQL生成HTTP接口)我会基于这个原理实现一个自己的SpringBootStarter模块,只要引入了该模块,项目就自然具有了通过配置SQL自动生成Http接口的能力。

http://www.khdw.cn/news/14909.html

相关文章:

  • 图片免费模板最新seo课程
  • 网站开发工期安排优化落实疫情防控
  • 驾校一点通网站怎么做最好的网站优化公司
  • 网站icp备案怎么做实时新闻最新消息
  • 网站建设报价方案模板国际十大市场营销公司
  • 广州优化网站建设seo关键词优化方法
  • 网站制作多少钱新闻成都网站建设创新互联
  • 在线做托福的网站佛山seo外包平台
  • 昆明企业建站模板如何宣传网站
  • 龙岗网兰州网站优化
  • 怎样将自己做的网页加入网站整合营销传播方案
  • 网站换空间 百度快照倒退一年多 怎么回事一站式发稿平台
  • 企业局域网的搭建与配置南宁百度seo排名价格
  • 网站集群建设中标自动收录
  • 网站开发讲座心得体会十大网络营销成功案例
  • 杭州做公司网站的公司安徽网站推广优化
  • 延庆住房和城乡建设委员会网站贵州快速整站优化
  • 河南省建设网站平台推广公众平台营销
  • 织梦cms安装教程茂名百度seo公司
  • 自己学做网站需要学多久seo文章是什么意思
  • asp网站后台产品管理中增加一个功能怎样修改上海专业seo
  • 咸宁 网站建设优化大师会员兑换码
  • wordpress做的网站吗广州新一期lpr
  • 怎么做二维码直接进入网站推广一次多少钱
  • 注册公司代理费用标准seo网络运营
  • wordpress切换成中文字体谷歌seo外包公司哪家好
  • 汕头网站建设sthke百度手机seo
  • 英文网站建设维护阿拉营销网站
  • 做网站的原型文件下载中国去中心化搜索引擎
  • 济南槐荫区做网站的专业网店推广