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

西湖区外贸网站建设小目标网站建设

西湖区外贸网站建设,小目标网站建设,做学校网站素材图片,wordpress推荐主机自定义bean加载到spring容器中的两种方式#xff1a; 1.在类上添加注解Controller、RestController#xff08;本质是Controller#xff09;、Service、Repository、Component2.使用Configuration和Bean 这篇文章主要介绍第二种方式原理#xff08;因为在实际使用中#…自定义bean加载到spring容器中的两种方式 1.在类上添加注解Controller、RestController本质是Controller、Service、Repository、Component2.使用Configuration和Bean 这篇文章主要介绍第二种方式原理因为在实际使用中第二种方式遇到了一个问题记录一下。 抛出问题 在微服务中定义一个文件上传模块目的是为了以后在其他任何需要的微服务中直接引用。由于配置是在配置文件中需要使用Value(${xxx})获取配置(VolcengineUtils.java中获取)故需要被spring注解扫描到并初始化上传对象但是始终没有初始化这个配置文件 Configuration public class VolcengineConfig {Value(${meta.volcengine.endPoint})private String endPoint;Value(${meta.volcengine.region})private String region;Value(${meta.volcengine.accessKey})private String accessKey;Value(${meta.volcengine.secretKey})private String secretKey;Value(${meta.volcengine.bucketName})private String bucketName;Beanpublic void initVolcengineInfo(){VolcengineUtils.setClient(new TOSV2ClientBuilder().build(region, endPoint, accessKey, secretKey));VolcengineUtils.setBucketName(bucketName);} } 思考1直接把配置文件放到项目中没有问题移出作为一个模块怎么就会有问题 对比后发现服务项目和上传组件的包package的名称不一样 服务项目 上传组件 然后修改上传组件的包名为com.meta.modules.file.volcengine 再次启动没问题了 思考2.为什么修改包名相同就可以了那如果对外提供组件总不能要求别人的服务项目和组件同包名吧 于是继续寻找解决方案然后找到在resources资源目录下META-INF\spring.factories中增加扫描路径可以被spring加载于是增加META-INF\spring.factories文件(上传组件包名已还原为com.meta.core.file.volcengine) org.springframework.boot.autoconfigure.EnableAutoConfiguration\ com.meta.core.file.volcengine.VolcengineConfig再次启动没问题了 回答思考1不同包名不能被扫描问题 1.服务启动项点击注解SpringBootApplication进入 2.点击注解ComponentScan进入 注释翻译如果指定的包没有被定义则扫描将从声明该注释的类的包中进行。也就是如果没有配置ComponentScan注解中basePackageClasses、basePackages、value的值则从SpringBootApplication注解类所在的包开始扫描 思考3.spring.factories配置是如何加载的 1.服务启动项点击注解SpringBootApplication进入–点击注解EnableAutoConfiguration进入 发现有一个自动配置导入选择器点击进入AutoConfigurationImportSelector.class类中 通过断点即可发现在spring.factories中指定的配置已经被加载到spring容器中。 优化VolcengineConfig类 使用spring.factories加载配置显然更通用其次此处只需要初始化一次配置不需要把initVolcengineInfo声明为bean。使用PostConstruct在bean加载完成后初始化一次即可 public class VolcengineConfig {Value(${meta.volcengine.endPoint})private String endPoint;Value(${meta.volcengine.region})private String region;Value(${meta.volcengine.accessKey})private String accessKey;Value(${meta.volcengine.secretKey})private String secretKey;Value(${meta.volcengine.bucketName})private String bucketName;PostConstructpublic void initVolcengineInfo(){VolcengineUtils.setClient(new TOSV2ClientBuilder().build(region, endPoint, accessKey, secretKey));VolcengineUtils.setBucketName(bucketName);} }
http://www.hkea.cn/news/14263180/

相关文章:

  • 南宁月嫂网站建设郴州房产网
  • 什么是门户网站广告如何做好网站建设的关键重点
  • 做一个商城网站域名买完了网站建设
  • access 网站后台宝贝我想跟你做网站
  • 从零开始自己做外贸网站和海外网络营销wordpress明星
  • 自己怎么建个免费网站折一把古风扇子
  • 社交网站开发教程小程序建站工具
  • 群晖ds218 做网站用php做注册网站的代码
  • 网站建设太金手指六六三十WordPress资讯网站
  • 公司网站出现空白页长沙 建站优化
  • 汕头免费建站哪里有有没有网站可以学做床上用品
  • 瑞安做网站房子装修风格大全2021新款
  • 哪个网站做国内销海外的wordpress 3.9 中文
  • 购物网站建设比较好的徐州云龙区建设局网站
  • 图书馆网站开发总结网站开发课程心得
  • 茶叶有什么网站可以做推广wordpress局域网建站
  • 做外贸需要关注的网站有什么好处网站建设使用多语言
  • 展览展示设计网站喀什网站制作
  • 互助网站建设公司门户网站产品设计方案
  • 网站开发人员保密wordpress可视化找不着
  • 网站建设必学课程网站编辑制作
  • 哪里可以制作网站wordpress安装包下载
  • 怎么做网站维护宣传中企动力是干什么的
  • wordpress取第一张图片下载班级优化大师
  • 泰安网站建设哪家不错国际重大新闻事件2023
  • 网站页面建设规划文案我是做网站的
  • 宁波手机网站开发公司番禺网站开发哪家专业
  • 免费金融发布网站模板下载企业邮箱哪家便宜
  • 十大网站在线观看徐州市铜山新区建设局网站
  • 建设网站需要给钱吗谷歌网站为什么打不开