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

通河县机场建设网站品牌设计公司排名前十强

通河县机场建设网站,品牌设计公司排名前十强,wordpress免费教育机构主题,网页微信看朋友圈1、前言Springboot项目配置properties或yaml文件时候,会有很多spring相关的配置提示。这个是如何实现的?如果我们自己的配置属性,能否也自动提示?2、Springboot配置自动提示其实IDE是通过读取配置信息的元数据而实现自动提示的。S…

1、前言

Springboot项目配置properties或yaml文件时候,会有很多spring相关的配置提示。这个是如何实现的?如果我们自己的配置属性,能否也自动提示?

2、Springboot配置自动提示

其实IDE是通过读取配置信息的元数据而实现自动提示的。Springboot的元数据就在目录META-INF下。通过starter部分结构,我们可以看到如下:

其实,springboot自动提示元数据就在META-INF中的spring-configuration-metadata.json或additional-spring-configuration-metadata.json。

打开additional-spring-configuration-metadata.json可以看到json结构:

{"groups": [],"properties": [{"name": "spring.devtools.add-properties","type": "java.lang.Boolean","description": "Whether to enable development property defaults.","defaultValue": true}],"hints": []
}

properties:为设置的提示属性,name为属性名称,type为属性类型,defaultValue为该属性默认值,description为属性描述。

groups:为properties提供了一个有上下文关联的分组。本身并不指定一个值。

hints:为属性设置多个提示值。

具体配置描述详见官网地址:https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html

3、手写尝试

1、创建starter工程

创建starter模块工程MySpringbootDemoModule1

2、自动装配

创建属性映射类,DemoProperties:

package org.example;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;@EnableConfigurationProperties({DemoProperties.class})
@ConfigurationProperties(prefix = "org.shamee")
public class DemoProperties {private String name;private Integer age;public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}
}

创建MyAutoConfiguration:

package org.example;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class MyAutoConfiguration {@Beanpublic DemoProperties demoProperties(){return new DemoProperties();}}

配置spring.factories:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.example.MyAutoConfiguration

到此,一个简单的starter模块就已创建完毕,但是此时,如果直接使用,IDE是无法自动提示的。这里我们期望IDE帮我们自动提示DemoProperties中的两个属性,org.shamee.name和org.shamee.age。

3、创建元数据

那么,我们在resources下创建META-INF/additional-spring-configuration-metadata.json,并给与配置信息。

{"properties": [{"name": "org.shamee.name","type": "java.lang.String","defaultValue": "test"},{"name": "org.shamee.age","type": "java.lang.Integer","defaultValue": 12}]
}

4、安装使用

到此,就已经完成了一个能够让IDE自动帮我们提示的starter依赖。执行mvn install安装。

5、使用

创建一个主工程:MySpringbootDemo

pom.xml添加上述starter依赖。

刷新以来后,尝试application.properties上配置我们自定义的属性。

可以看到,IDE已经自动帮我们提示了属性名称以及默认的值。嗯,爽了。

看下starter依赖结构:

好了,又白嫖了一个无聊的小知识!!!😃😃😃

http://www.shuangfujiaoyu.com/news/35833.html

相关文章:

  • 中企动力网站建设 医疗公司网站搭建
  • 大淘客网站商品做淘口令seo网站快排
  • 最全网站源码分享疫情最新消息今天封城了
  • 网站开发语言数据库有几种杭州排名优化公司
  • 中国网站优化公司站长工具查询入口
  • dz wordpressseo公司哪家好
  • 南京建设高端网站如何写软文
  • 郑州做网站的公司msgg小红书推广方案
  • 武进网站制作公司深圳网络推广哪家比较好
  • 哪些网站做面试题百度应用平台
  • 做影视网站规模不大怎样在百度上发表文章
  • 网站安全建设目的是什么网络营销官网
  • 大学英文网站建设百度怎么投放自己的广告
  • 关于二手书的网站开发ppt搜狗网
  • 标签云小工具 wordpress nofollow阳山网站seo
  • web网站设计基本网络推广策划书
  • 胶州建设局网站网络推广费用大概价格
  • 武隆网站建设公司网站如何推广
  • 做视频网站注意什么全网自媒体平台大全
  • 城口自助建站竞价托管怎么做
  • 网站都需要域名备案吗百度域名收录
  • 沈阳网站seo排名优化看网站时的关键词
  • c mvc 大型网站开发做市场推广应该掌握什么技巧
  • 专业定制网站开发公司seo中国是什么
  • 电影网站制作教程好不好公司网络营销策略
  • 能在线做国二计算机题目的网站免费涨1000粉丝网站
  • 访问外国网站很慢指数型基金是什么意思
  • 关于网络的网站怎么做推广注册app拿佣金
  • 机械做卖产品网站线上营销渠道主要有哪些
  • 公司网站域名怎么取湖南关键词网络科技有限公司