想要在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. bzoj 1070 [SCOI2007]修车——网络流(拆边)

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1070 后面还有几辆车在这个人这儿修,自己这辆车的时间对总时间的贡献就要多乘上几倍. 所以可以 ...

  2. 转发,重定向以及区别和简单的session对象

    1.转发     作用:在多个页面交互过程中实现请求数据的共享.     过程:Web服务器内部将一个request请求的处理权交给另外一个资源,属于同一个访问请求和响应过程,所以request对象的 ...

  3. foreach(PHP学习)

    先来看一个例子: $arr = array(0,1,2,3,4);让数组的每个值都变成原来的两倍,应该怎么来实现? 如果没有学习foreach之前,会想到用for循环 <?php $arr = ...

  4. JAVA-Unit05: 视图、序列、索引 、 约束

    Unit05: 视图.序列.索引 . 约束 视图 数据库对象之一 视图在SQL语句中体现的角色与表相同, 但它并非一张真实存在的表,它对应的 是一个查询语句的结果集. 创建一个查看10号部门员工信息的 ...

  5. linux安装oracle12c

    参考: https://blog.csdn.net/who__are__you_/article/details/79178303 记录:

  6. 获取响应里面的cookie的方法

    使用方法: R.cookies.get_dict()   获取响应返回的cookies

  7. MapReduce项目中的一个JVM错误问题分析和解决

    最近一周都在查项目的各种问题,由于对原有的一个MapReduce分析数据的项目进行重构,减少了运行时的使用资源,但是重构完成后,在Reduce端总是不定时地抛出JVM的相关错误,非常随机,没有发现有什 ...

  8. py4常用模块

    导入模块方式 import 单文件 from dir import file 目录下文件 如果有相同的名称,可以采用别名的方式 from dir import file as rename.file ...

  9. 前端性能优化:gzip压缩文件传输数据

    一.文件压缩的好处 前端生产环境中将js.css.图片等文件进行压缩的好处显而易见,通过减少数据传输量减小传输时间,节省服务器网络带宽,提高前端性能. 二.http协议如何支持压缩文件的传输 1.浏览 ...

  10. OD 实验(十二) - 对一个 Delphi 程序的逆向

    程序: 运行程序 界面显示的是未注册 点击 Help -> About 点击 Use Reg Key 这里输入注册码 用 PEiD 看一下 该程序是用 Delphi 6.0 - 7.0 写的 逆 ...