在application.properties中添加属性
ai.name=明
ai.age=22
ai.sex=男
定义配置类如下,前缀(prefix)可自定义修改,本文为 ai。
@ConfigurationProperties(prefix = “ai”)
public class PropertiesSetting1 {
private String name;
private Long age;
private String sex;

  1. public String getName() {
  2. return name;
  3. }
  4. public void setName(String name) {
  5. this.name = name;
  6. }
  7. public Long getAge() {
  8. return age;
  9. }
  10. public void setAge(Long age) {
  11. this.age = age;
  12. }
  13. public String getSex() {
  14. return sex;
  15. }
  16. public void setSex(String sex) {
  17. this.sex = sex;
  18. }

}
若使用新的配置文件,需新建一个ai.properties。
ai.name=婷婷
ai.age=22
ai.sex=女
配置如下配置类,需要指定ai.properties的位置。
@ConfigurationProperties(prefix = “ai”,locations=”classpath:config/ai.properties”)
public class Properties1Setting {
private String name;
private Long age;
private String sex;

  1. public String getName() {
  2. return name;
  3. }
  4. public void setName(String name) {
  5. this.name = name;
  6. }
  7. public Long getAge() {
  8. return age;
  9. }
  10. public void setAge(Long age) {
  11. this.age = age;
  12. }
  13. public String getSex() {
  14. return sex;
  15. }
  16. public void setSex(String sex) {
  17. this.sex = sex;
  18. }

}

在Controller中调用,
@Autowired
private PropertiesSetting propertiesSetting;
@Autowired
private Properties1Setting properties1Setting;

  1. @RequestMapping("/properties")
  2. public @ResponseBody String properties(){
  3. System.out.println("姓名:"+propertiesSetting.getName()+",年龄:"+propertiesSetting.getAge()
  4. +",性别:"+propertiesSetting.getSex());
  5. System.out.println("姓名:"+properties1Setting.getName()+",年龄:"+properties1Setting.getAge()
  6. +",性别:"+properties1Setting.getSex());
  7. return "ok";
  8. }

在项目的启动类上面添加@EnableConfigurationProperties注解,如下。

@SpringBootApplication
@EnableConfigurationProperties({PropertiesSetting.class,Properties1Setting.class})
public class SpringbootNewApplication {

  1. public static void main(String[] args) {
  2. SpringApplication.run(SpringbootNewApplication.class, args);
  3. }

运行项目,控制台输出结果,到此配置完成。
(idea为例)如果控制台输出的中文是乱码,需要在
File—>Settings—>File Encodings进行设置如下图。

重新运行,乱码问题解决。

springboot中使用自定义的properties属性的更多相关文章

  1. Springboot中读取自定义名称properties的

    Springboot读取自定义的配置文件时候,使用@value,一定要指定配置文件的位置!  否则报错参数化异常!

  2. SpringBoot利用注解@Value获取properties属性为null

    参考:https://www.cnblogs.com/zacky31/p/8609990.html 今天在项目中想使用@Value来获取Springboot中properties中属性值. 场景:定义 ...

  3. springboot中使用自定义两级缓存

    工作中用到了springboot的缓存,使用起来挺方便的,直接引入redis或者ehcache这些缓存依赖包和相关缓存的starter依赖包,然后在启动类中加入@EnableCaching注解,然后在 ...

  4. ASP.NET Core中使用自定义MVC过滤器属性的依赖注入

    除了将自己的中间件添加到ASP.NET MVC Core应用程序管道之外,您还可以使用自定义MVC过滤器属性来控制响应,并有选择地将它们应用于整个控制器或控制器操作. ASP.NET Core中常用的 ...

  5. Maven中的-D(Properties属性)和-P(Profiles配置文件)

    -D代表(Properties属性) 使用命令行设置属性-D的正确方法是: mvn -DpropertyName=propertyValue clean package 如果propertyName不 ...

  6. Java:集合,对列表(List)中的自定义对象按属性(字段)排序(正序、倒序)的方法

    1. 要求 对列表(List)中的自定义对象,要求能够按照对象的属性(字段)进行排序(正序.倒序). 如:用户对象(Member)有用户名(username).级别(level).出生日期(birth ...

  7. SpringBoot中设置自定义拦截器

    SpringBoot中设置自动以拦截器需要写一个类继承HandlerInterceptorAdapter并重写preHandle方法 例子 public class AuthorityIntercep ...

  8. SpringBoot中 application.yml /application.properties常用配置介绍

    # Tomcat server: tomcat: uri-encoding: UTF-8 max-threads: 1000 min-spare-threads: 30 port: 10444 ser ...

  9. springboot中使用自定义注解实现策略模式,去除工厂模式的switch或ifelse,实现新增策略代码零修改

    前言 思路与模拟业务 源码地址 https://gitee.com/houzheng1216/springboot 整体思路就是通过注解在策略类上指定约定好的type,项目启动之后将所有有注解的typ ...

随机推荐

  1. 解决 ArchLinux 下中文 Chinese 不能输入 couldnt input 的问题

    解决 ArchLinux 下中文 Chinese 不能输入 couldnt input 的问题 一.Question 一年多的 ArchLinux 用户再次回归.然鹅,见面礼就是终端不能输入中文. 在 ...

  2. 【bzoj4259】 残缺的字符串 FFT

    又是一道FFT套路题 思路可以参考bzoj4503,题解 我们对串S和串T中出现的*处全部赋值为0. 反正最终的差异度式子大概就是 $C[i]=\sum_{j=0}^{|T|-1}S[i+j]T[j] ...

  3. OAuth 2.0 - Authorization Code授权方式详解

    I:OAuth 2.0 开发前期准备 天上不会自然掉馅饼让你轻松地去访问到人家资源服务器里面的用户数据资源,所以你需要做的前期开发准备工作就是把AppKey, AppSecret取到手 新浪获取传送门 ...

  4. 【ROS系列】使用QT编写ROS订阅、发布程序

    Linux下一直使用QT进行开发,支持cmake使得很容易导入其他工程.学习ROS过程中,很多函数名称难记,使用QT不仅可以提示补全,还为了以后开发GUI方便吧. 1.安装ros_qtc_plugin ...

  5. 实践详细篇-Windows下使用Caffe训练自己的Caffemodel数据集并进行图像分类

    三:使用Caffe训练Caffemodel并进行图像分类 上一篇记录的是如何使用别人训练好的MNIST数据做训练测试.上手操作一边后大致了解了配置文件属性.这一篇记录如何使用自己准备的图片素材做图像分 ...

  6. .NET 如何隐藏Console Application的窗口

    1)创建Console Application工程 2)修改Output type 为Windows Application即可

  7. Python生成gexf文件并导入gephi做网络图分析

    Gephi是一款优秀的复杂网络分析软件,支持导入多种格式的文件.gexf格式是Gephi 推荐的格式,基于 XML.本文是一个用python写的简单Demo,示例如何生成一个典型的gexf格式文件.代 ...

  8. (转)权威支持: 选择正确的 WebSphere 诊断工具

    权威支持: 选择正确的 WebSphere 诊断工具 原文:https://www.ibm.com/developerworks/cn/websphere/techjournal/0807_supau ...

  9. Centos 7 安装 Visual stdio Code

    最近微软正式发布了.net code 和asp.net code.尝试了下在linux下.net code和asp.net code使用. 具体怎么使用.net code 和asp.net code ...

  10. 深入理解Java虚拟机:垃圾收集器与内存分配策略

    目录 3.2 对象已死吗 判断一个对象是否可被回收 引用类型 finalize() 回收方法区 3.3. 垃圾收集算法 1.Mark-Sweep(标记-清除)算法 2.Copying(复制)算法 3. ...