SpringBoot读取配置文件

项目结构

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>test.demo</groupId>
	<artifactId>springboot</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>springboot</name>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.3.0.RELEASE</version>
		<relativePath />
	</parent>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>
</project>

  

@Configurationproperties注解和@Value注解

@ConfigurationProperties加在有@Configuration的类或者由@Bean注解的方法上,

另外一个类似的注解@EnableConfigurationProperties

用于允许@ConfigurationProperties

使用示例:

package hello;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class App
{
    public static void main(String[] args)
    {
        SpringApplication.run(App.class, args);
    }
}
package hello.bean;

//@Configuration
//@ConfigurationProperties("user.properties")
public class TestBean
{
	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;
	}
}

  

package hello.config;

import hello.bean.TestBean;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class BeanConfig
{
	@ConfigurationProperties("user.properties")
	@Bean
	public TestBean getBean()
	{
		return new TestBean();
	}

}

  

package hello.controller;

import hello.bean.TestBean;

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.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class Controller
{
	@Autowired
	TestBean bean;
	@Value("${user.properties.name}")
	String name;

	@RequestMapping(value = "/test", method = RequestMethod.GET)
	public String get()
	{
		System.out.println(name);
		return bean.getName();
	}

	@RequestMapping(value = "/post", method = RequestMethod.POST)
	public String post()
	{
		return "post";
	}

}

  

application.yml

user:
  properties:
    age: 18
    name: zzzz

单个属性使用@Value

时间: 2025-01-16 02:16:16

SpringBoot读取配置文件的相关文章

Springboot读取配置文件的两种方法

第一种: application.yml配置中的参数: zip: Hello Springboot 方法读取: @RestController public class ControllerTest { //在这里读取配置文件 @Value("${zip}") private String zip; @GetMapping(value = "hello") public String hello(){ return zip; } } 第一种比较麻烦,推荐第二种: 首

springboot读取配置文件的顺序

前言 今天测试一些东西,发现配置文件连接的数据库一直不正常,数据也不对,今天请教了之后,原来springboot的配置文件加载不仅仅是项目内的配置文件. 正文 项目目录是这样的:文件夹下有:项目,application.properties文件(用于修改配置文件的时候直接复制到项目中) 结果:项目每次使用的都是项目外部的配置文件!!通过查询得到springboot项目启动的时候配置文件加载的顺序:(来自springboot官方文档,使用浏览器翻译) 也就是说:springboot会默认先加载项目

SpringBoot读取配置文件信息显示报错

一.描述错误 当我在读取自定义配置文件信息时,希望返回到前台(以json的格式),但是报错. 错误信息大致如下(未完全粘贴): com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class org.springframework.context.expression.StandardBeanExpressionResolver 二.大致情况 就是后台返回的数据不能正确被序列

Springboot读取配置文件及自定义配置文件

1.创建maven工程,在pom文件中添加依赖 1 <parent> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-parent</artifactId> 4 <version>1.5.9.RELEASE</version> 5 </parent> 6 7 <dependencies>

springboot读取配置文件解决乱码问题

首先在application.properties里面写好要读取的配置文件: name=小郭age=23sex=男 然后继续加入以下代码: banner.charset=UTF-8 server.tomcat.uri-encoding=UTF-8 spring.http.encoding.charset=UTF-8 spring.http.encoding.enabled=true spring.http.encoding.force=true spring.messages.encoding=

springboot读取配置文件方式

方法一: @Value注解的方式取值 设定appliction.properties的配置信息 xiaoming.sex=boy xiaoming.age=18 xiaoming.score=98 使用@Value取值 @RestController public class PersonController { @Value("${xiaoming.sex}") private String sex; @Value("${xiaoming.age}") priva

spring-boot读取props和yml配置文件

最近微框架spring-boot很火,笔者也跟风学习了一下,废话不多说,现给出一个读取配置文件的例子. 首先,需要在pom文件中依赖以下jar包 Java代码 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>

Springboot 之 自定义配置文件及读取配置文件

本文章来自[知识林] 读取核心配置文件 核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单. 核心配置文件application.properties内容如下: server.port=9090 test.msg=Hello World Springboot! 使用@Value方式(常用): @RestController public class WebControlle

springBoot之配置文件的读取以及过滤器和拦截器的使用

前言 在之前的学习springBoot中,成功的实现了Restful风格的基本服务.但是想将之前的工程作为一个项目来说,那些是仅仅不够的.可能还需要获取自定义的配置以及添加过滤器和拦截器.至于为什么将这些写在一起,只是因为这些比较简单而且也会经常用到,所以干脆就一起写出来了. 读取配置文件 在使用maven项目中,配置文件会放在resources根目录下. 我们的springBoot是用Maven搭建的,所以springBoot的默认配置文件和自定义的配置文件都放在此目录. springBoot