Examp1:读取核心配置文件信息application.properties的内容

方法一:使用@Value方式(常用)

1、application.properties中自定义参数

test.msg=Hello World SpringBoot 

2、在controller中读取

@RestController
public class WebController {
@Value("${test.msg}")
private String msg; @RequestMapping("/index1")
public String index1(){
return "方式一:"+msg;
}
}

注意:在@Value的${}中包含的是核心配置文件中的键名。

方法二:使用Environment方式

@RestController
public class WebController {
@Autowired
private Environment env; @RequestMapping("/index2")
public String index2(){
return "方式二:"+env.getProperty("test.msg");
}
}

注意:这种方式是依赖注入Evnironment来完成,在创建的成员变量private Environment env上加上@Autowired注解即可完成依赖注入,然后使用env.getProperty("键名")即可读取出对应的值

Examp2:读取自定义配置文件信息

导入jar包:

<dependency>
  <groupId>org.springframwork.boot</groupId>
  <artifactId>Spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>

1、创建自定义配置文件 Manager.properties

manager.name = "shabi"
manager.age = "27"

2、创建相关实体类

//加上注释@Component,可以直接在其他地方使用@Autowired来创建其实例对象
@Component
@ConfigurationProperties(prefix = "author",locations = "classpath:author.properties")
public class MyWebConfig{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}

注意:在@ConfigurationProperties注释中有两个属性:

   locations:指定配置文件的所在位置

   prefix:指定配置文件中键名称的前缀

   使用@Component是让该类能够在其他地方被依赖使用,即使用@Autowired注释来创建实例。

3、测试Controller

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; @Controller
public class ConfigController {
@Autowired
private MyWebConfig conf; @RequestMapping("/test")
public @ResponseBody String test() {
return "Name:"+conf.getName()+"---"+"Age:"+conf.getAge();
}
}

  

SpringBoot - 资源文件配置读取的更多相关文章

  1. spring boot资源文件配置读取

    一般业务配置,尽量新建自己的配置文件,来读取,而不是配置在application.properties或application-*.properties或yml/yaml配置中. applicatio ...

  2. Spring读取外部的资源配置文件—@PropertySource和@Value实现资源文件配置

    通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值: @PropertySource注解主要是让Spring的Environment接口读取属性配置文件用的,标识在@ ...

  3. java 资源文件的读取

    Java将配置文件当作一种资源(resource)来处理,并且提供了两个类来读取这些资源,一个是Class类,另一个是ClassLoader类. gradle 项目 项目目录结构  用Class类加载 ...

  4. 文件_ _android从资源文件中读取文件流并显示的方法

    ======== 1   android从资源文件中读取文件流并显示的方法. 在android中,假如有的文本文件,比如TXT放在raw下,要直接读取出来,放到屏幕中显示,可以这样: private ...

  5. 说说Java中的资源文件的读取

    最近在看spring的资源获取时发现JDK里存在几种不同方式的资源获取,因比较混乱特地总结起来帮助和我一样混乱的人理解.下面是我项目的类结构图,在 src/main/java 下有两个类 Resour ...

  6. 在springboot pom文件配置过程,`spring-boot-maven-plugin`配置出错的问题解决及配置过程出现问题的一些思考

    在springboot pom文件配置过程,spring-boot-maven-plugin配置出错的问题解决及配置过程出现问题的一些思考 解决方法一: 也是最简单的方法,可能是maven没有来得及导 ...

  7. SpringBoot入门篇--读取资源文件配置

    在项目的开发中,我们知道的是SpringBoot框架大大减少了我们的配置文件,但是还是留下了一个application.properties文件让我们可以进行一些配置.当然这些配置必然是包括服务器的配 ...

  8. SpringBoot +Pom.xml工程资源文件配置

    继承spring-boot-starter-parent 要成为一个spring boot项目,首先就必须在pom.xml中继承spring-boot-starter-parent,同时指定其版本 & ...

  9. Spring Boot注解与资源文件配置

    date: 2018-11-18 16:57:17 updated: 2018-11-18 16:57:17 1.不需要多余的配置文件信息 application.properties mybatis ...

随机推荐

  1. (转)Java并发编程:线程池的使用

    背景:线程池在面试时候经常遇到,反复出现的问题就是理解不深入,不能做到游刃有余.所以这篇博客是要深入总结线程池的使用. ThreadPoolExecutor的继承关系 线程池的原理 1.线程池状态(4 ...

  2. Java 存储时间戳的几种方式

    有时需要记录一下数据生成时间的时间戳,精确到秒,这里记录一下java存储时间戳字符串的几种方式 1.DateFormat private static final SimpleDateFormat s ...

  3. latex 导入pdf

    pdflatex \includepdf[addtotoc={1,section,1,something would show in catalog,cc},pages=-,offset=0cm 0. ...

  4. 【非专业前端】vue+element+webpack

    先点这里(- ̄▽ ̄)- 环境搭建 默认你已经安装了node.js 下面安装vue和webpack npm install -g @vue/cli npm install -g @vue/cli-ini ...

  5. POJ 2823 Sliding Window (单调队列)

    单调队列 加了读入挂比不加更慢.... 而且这份代码要交c++ 有大神G++跑了700ms..... orzorzorz #include<iostream> #include<cs ...

  6. 5.2 SW1控制LED1亮灭(中断功能)

    中断:CPU收到中断请求后暂停正在执行的程序,而去执行中断服务函数中的程序,处理结束后,继续执行原来的程序. 能够产生中断请求的中断源如下: CC2530中断设置步骤:使能端口组中断(IEN)——端口 ...

  7. angular中因异步问题产生的错误解决方法

    方法一 private userTaskList(){ let auth = this.make_basic_auth("kermit","kermit"); ...

  8. 2017-12-15python全栈9期第二天第四节之格式化输出%s和用户交互个人简历模板

    #!/user/bin/python# -*- coding:utf-8 -*-name = input('姓名:')age = input('年龄:')job = input('工作:')hobbi ...

  9. OpenDayLight——HelloWorld

    OpenDayLight——HelloWorld 既然学习OpenDayLight编程这个鬼,就得像学语言一样来一个HelloWorld来试试水,经过几天的折腾,总算成功输出HelloWorld了,这 ...

  10. ansible playbook 变量

    变量优先级 在命令中定义的变量(-e参数指定的) 在inventory中定义的变量(ansible_ssh_user等) 其他变量(role中.play中) 系统通过father_facts定义的变量 ...