想要在JAVA Bean中读取配置文件中的内容有两种方式,可以进行获取到

第一种方式:

1、在默认的配置文件application.properties 中进行设置 Key-Value键值对

com.neusoft.duanml=Run SpringBoot

2、在需要使用的JAVA Bean中定义属性,并且注解如下:

@Value("${com.neusoft.duanml}")
  private String openSourceName;

3、在JAVA Bean中需要使用的地方进行引用,可以获取到配置值

@RequestMapping("/openSourceName")
public String openSourceName() {
      System.out.println(openSourceName);
      return openSourceName;
}

第二种方式:

1、任意新建*.properties文件,设置KEY-VALUE键值对 如:resource.properties

com.itzixi.opensource.name=neusoft
com.itzixi.opensource.website=www.neusoft.com
com.itzixi.opensource.language=java

2、编写具体的属性对应JAVA Bean 来封装配置文件*.properties中的属性KEY-VALUE并进行配置如:Resource.java

 package com.leecx.pojo;

 import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource; @Configuration
@ConfigurationProperties(prefix="com.itzixi.opensource")
@PropertySource(value="classpath:resource.properties")
public class Resource { private String name; private String website; private String language; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getWebsite() {
return website;
} public void setWebsite(String website) {
this.website = website;
} public String getLanguage() {
return language;
} public void setLanguage(String language) {
this.language = language;
} }

其中在JAVA Bean中必须加上 三处注解如下:

@Configuration
@ConfigurationProperties(prefix="com.itzixi.opensource")        prefix="com.itzixi.opensource"   为配置文件中的前缀变量值
@PropertySource(value="classpath:resource.properties")         为配置文件在项目的实际位置

注意事项:JAVA Bean中的属性名称 name、website、language必须为配置文件*.properties中@ConfigurationProperties(prefix="com.itzixi.opensource")        prefix="com.itzixi.opensource"   去掉前缀的名称

3、在具体的JAVA Bean中使用配置文件的属性值:HelloController.java

 package com.leecx.controller;

 import java.util.Date;

 import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import com.leecx.pojo.LeeJSONResult;
import com.leecx.pojo.Resource;
import com.leecx.pojo.User; @RestController
public class HelloController { @Autowired
private Resource resource; @RequestMapping("/getResource")
public LeeJSONResult getResource() {
System.out.println(resource.getName());
System.out.println(resource.getWebsite());
System.out.println(resource.getLanguage()); Resource bean = new Resource();
BeanUtils.copyProperties(resource, bean);
return LeeJSONResult.ok(bean);
}
}

必须 通过注入IOC对象Resource 进来 , 才能在类中使用获取的配置文件值。

SpringBoot的配置属性文件*.properties值如何映射到类中使用的更多相关文章

  1. Spring的属性文件properties使用注意

    Spring的属性文件properties使用注意 Spring 中属性文件的配置 通常我们会使用properties文件来设置一些属性,如数据库连接信息,避免进行硬编码, <bean clas ...

  2. Spring中属性文件properties的读取与使用

    实际项目中,通常将一些可配置的定制信息放到属性文件中(如数据库连接信息,邮件发送配置信息等),便于统一配置管理.例中将需配置的属性信息放在属性文件/WEB-INF/configInfo.propert ...

  3. Spring中使用属性文件properties的两种方式

    实际项目中,通常将可配置的参数放到属性文件中,例如数据库连接信息.redis连接信息等,便于统一管理.然后通过IoC框架spring将其加载到上下文中,使得程序可以直接使用. 创建mysql.prop ...

  4. SpringBoot入门 (二) 属性文件读取

    在上一篇中介绍了在idea中创建springboot工程及使用web工程输出“helloworld”到前端页面,本文学习在springboot工程中读取属性文件中的属性值. 一 自定义属性 在appl ...

  5. 结合SpEL使用@Value-基于配置文件或非配置的文件的值注入-Spring Boot

    本文主要介绍Spring @Value 注解注入属性值的使用方法的分析,文章通过示例代码非常详细地介绍,对于每个人的学习或工作都有一定的参考学习价值 在使用spring框架的项目中,@Value是经常 ...

  6. SpringBoot加密配置属性

    一.背景 在系统中的运行过程中,存在很多的配置属性,比如: 数据库配置.阿里云配置 等等,这些配置有些属性是比较敏感的,是不应直接以明文的方式出现在配置文件中,因此对于这些配置我们就需要加密来处理. ...

  7. Spring配置属性文件

    在项目开发阶段和交付阶段数据库的连接信息往往是不同的,可以把这些信息写成属性文件,再在Spring中导入即可引用 jdbc.properties属性文件如下: jdbc.driverClassName ...

  8. 将source类中的属性值赋给target类中对应的属性

    /** * 对象的属性值拷贝 * <p> * 将source对象中的属性值赋值到target对象中的属性,属性名一样,类型一样 * <p> * example: * <p ...

  9. 实体类相同属性间赋值与如何判断实体类中是否所有的字段都为null

    1,实体类相同属性间赋值 /// <summary> /// 将实体2的值动态赋值给实体1(名称一样的属性进行赋值) /// </summary> /// <param ...

随机推荐

  1. shell三剑客之find

    查找以ini结尾的文件[root@iZj6cbstl2n6r280a27eppZ app]# find / -name "*.ini"/app/myblog/config.ini ...

  2. Renesas CAT CONFIG

    CAT CELL "sf_cellular_api.h" typedef enum e_sf_cellular_at_cmd_index { SF_CELLULAR_AT_CMD_ ...

  3. linux(7)

    第十七单元 Samba服务 [本节内容]1. 掌握samba的功能: samba是一个网络服务器,用于Linux和Windows之间共享文件.2. 掌握samba服务的启动.停止.重启service ...

  4. Hibernate学习5—Hibernate操作对象

    第一节:Hibernate 中四种对象状态 删除状态:处于删除状态的Java 对象被称为删除对象.比如说session delete一个对象,这个对象就不处于session缓存中了, 已经从sessi ...

  5. java------------break;

    总结: package com.mmm; public class Pnal { public static void main(String[] args) { int i = 0; while ( ...

  6. Sql--------服务器的数据库表数据插入到本地数据库

    本地语句:::insert into 表名(列名) SELECT * FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=127.0.0.1;User ID=sa ...

  7. STL sort

    STL的sort()算法,数据量大时采用Quick Sort,分段递归排序,一旦分段后的数据量小于某个门槛,为避免Quick Sort的递归调用带来过大的额外负荷,就改用Insertion Sort. ...

  8. 回归问题中代价函数选择的概率解释(Probabilistic interpretation)

    在我们遇到回归问题时,例如前面提到的线性回归,我们总是选择最小而成作为代价函数,形式如下: 这个时候,我们可能就会有疑问了,我们为什么要这样来选择代价函数呢?一种解释是使我们的预测值和我们训练样本的真 ...

  9. Android APP压力测试实战

    环境准备: Android SDK Python   压测实战步骤 1.在手机开发者工具中,将USB调试选上 2.确认手机,电脑成功连接(通过adb devices) 3.安装测试app(adb in ...

  10. SlidingMenu Demo

    参考:http://www.krislq.com/2013/03/android_case_slidingmenu_fragment/ 我下载了它的例子,然后自己重写了一下,运行时总报错,原来是sup ...