码迷,mamicode.com
首页 > 编程语言 > 详细

SpringBoot读取配置文件

时间:2016-03-11 15:41:34      阅读:598      评论:0      收藏:0      [点我收藏+]

标签:

项目结构

技术分享

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

SpringBoot读取配置文件

标签:

原文地址:http://www.cnblogs.com/shuiyonglewodezzzzz/p/5143593.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!