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

合肥专业网站建设定制网站建设服务

合肥专业网站建设,定制网站建设服务,wordpress怎么设置邮箱,市场宣传的方法有哪些面试官#xff1a;好久没见#xff0c;甚是想念。今天来聊聊SpringBoot的自动配置吧#xff1f; 候选者#xff1a;嗯#xff0c;SpringBoot的自动配置我觉得是SpringBoot很重要的“特性”了。众所周知#xff0c;SpringBoot有着“约定大于配置”的理念#xff0c;这一…面试官好久没见甚是想念。今天来聊聊SpringBoot的自动配置吧 候选者嗯SpringBoot的自动配置我觉得是SpringBoot很重要的“特性”了。众所周知SpringBoot有着“约定大于配置”的理念这一理念一定程度上可以用“SpringBoot自动配置”来解释。 候选者SpringBoot自动配置的原理理解起来挺简单的我们在使用SpringBoot的时候肯定会依赖于autoconfigure这么一个包 候选者autoconfigure这个包里会有一个spring.factories文件该文件定义了100个入口的配置类。比如我们经常使用的redis、kafka等等这样常见的中间件都预置了配置类 候选者当我们在启动SpringBoot项目的时候内部就会加载这个spring.factories文件进而去加载“有需要”的配置类。那我们在使用相关组件的时候就会非常的方便因为配置类已经初始化了一大部分配置信息。 候选者一般我们只要在application配置文件写上对应的配置就能通过各种template类直接操作对应的组件啦。 面试官那是所有的配置类都会加载吗这个“有需要”的配置类你是怎么理解的 候选者不是所有的配置类都会加载的假设我们没有引入redis-starter的包那Redis的配置类就不会被加载。具体Spring在实现的时候就是使用 ConditionalXXX进行判断的。比如Redis的配置类就会有ConditionalOnClass({RedisOperations.class})的配置说明当前环境下如果有RedisOperations.class这个字节码才会去加载Redis的配置类 面试官哦这样啊那了解了。那你知不知道Redis的配置类其实会有初始化RedisTemplate对象的操作那假设我们没有引入redis-starter包那他是怎么通过编译的当然了其他的配置类也是有可能有一样的状况 候选者嗯这个我看源码的时候我也发现了。其实就是在autoconfigure包里会定义到相关的依赖但只是标记为optional并且只在编译环境有效。那这样是能通过编译的只是不会将其依赖传入到我们的应用工程里。 候选者这块还是花了我很多时间的我最后在GitHub 的SpringBoot源码里找到的。 面试官嗯啊有点东西的哟。既然都聊到这块了要不顺便聊聊你对SpringBoot starter的理解 候选者嗯starter这东西就是为了方便调用方去使用相关的组件的嘛Spring框架也给我们实现了很多好用的starter。 候选者比如以前我们要用Mybatis框架可能会引入各种的包才能使用。而starter就是做了一层封装把相关要用到的jar都给包起来了并且也写好了对应的版本。这我们使用的时候就不需要引入一堆jar包且管理版本类似的问题了。 候选者现在很多开源的组件都会提供对应的springboot-starter包给我们去用要做一个starter包并不难。参照Spring内置的实现就好了1、在工程里引入 starter 打包相关的依赖。2、在我们工程内建spring.factories文件编写我们配置类的全限类名。 面试官嗯大致都了解了可以的。最后聊下你是怎么看这块源码的 候选者源码具体大概就不记得了思路倒是还有的。我先从启动类开始会有个SpringBootApplication后面会定位到一个自动配置的注解EnableAutoConfiguration那最后就能看到注解内部会去META-INF/spring.factories加载配置类 候选者这块源码并不难这个过程也了解到了原来maven有option和scope这俩标签但确实是SpringBoot比较重要的概念吧。 面试官好嘞今天到这就结束了吧。 题外自动配置这个问题确实被问到过几次。说实在的对于Spring类、注解的信息我真的记不住。感觉能答出这个流程思路也就够用了如果面试官确实是要细究某个类名那这种公司不去也罢 约定大于配置SpringBoot给我们内置了很多配置类这些配置类也初始化了很多配置默认值。当我们要使用的时候只需要覆盖这些配置项就完事了。即便我们不写大多数情况下都不需要由我们显示配置出来但相关组件就能正常访问了。 推荐项目 如果想学Java项目的我还是强烈推荐我的开源项目消息推送平台Austin可以用作毕业设计可以用作校招可以看看生产环境是怎么推送消息的。 Gitee仓库地址https://gitee.com/zhongfucheng/austin GitHub仓库地址https://github.com/ZhongFuCheng3y/austin
http://www.dnsts.com.cn/news/39398.html

相关文章:

  • 摄影网站的制作网站 尺寸
  • 深圳外贸网站商城宁波关键词在线优化
  • 昆山哪家做网站好专注吴中网站建设推广
  • 网站建立的链接不安全怎么解决网页设计培训机构推荐
  • 网站怎么做舆情监测舆情运营岗位主要做什么
  • 营销型网站建设sempk王也微信头像图片
  • 网站推广外包公司哪家好宁乡市建设局网站
  • 网站维护收费标准合肥市建设厅官方网站
  • 吉林省 网站建设车险网站模版
  • 网站制作优化百度竞价排名及自动竞价功能
  • 时尚大气网站登不上学校的网站该怎么做
  • 自己怎么做网站优化wordpress 收费课程
  • 企业网站模板湖南岚鸿模板谁有做网站的朋友的V信
  • 建设网站难吗wordpress图片博客
  • 网站开发项目描述网页开发三件套
  • 个人信息管理网站建设如何做好区县外宣网站建设
  • 南通中小企业网站制作手机端网站seo
  • 收录网站有哪些花生棒 做网站
  • 有哪些可以接单做任务的网站免费空间 wordpress
  • 上海网站建设找缘魁电商培训心得体会
  • 电商网站有什么福州科技网站建设怎么做
  • 网站怎么查是哪家网络公司做的苏州建网站哪个好
  • 河北精品网站建设国外特效网站
  • wap网站快速开发建设银行手机银行电脑版官方网站
  • 做网站包含微信公众号吗潮汕学院网站开发
  • 蚌埠网站优化制作公司奉贤建设机械网站
  • 营口网站建设哪家好建立网站的正确方法
  • 新闻发布网站模板伦敦做网站
  • 广州h5网站制作公司万网cname域名解析
  • 做一手房做那个网站好广东联通通信建设有限公司 网站