您的位置:首页 > 编程语言 > Java开发

【spring boot】映射properties文件属性--到Java对象

2017-06-08 17:03 423 查看

描述

将*.properties中的内容映射到java对象中;

主要步骤

添加 @Component 注解;

使用 @PropertySource 注解指定配置文件位置;

使用 @ConfigurationProperties 注解,设置相关属性;

my.properties

author.name=ssslinppp
author.age=128
author.student.name=studentName
author.student.age=88


AuthorSettings.java

package com.sssppp;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "author")
@PropertySource("classpath:my.properties")
public class AuthorSettings {
private String name;
private Long age;
private Student student;

public Student getStudent() {
return student;
}

public void setStudent(Student student) {
this.student = student;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Long getAge() {
return age;
}

public void setAge(Long age) {
this.age = age;
}
}

Student.java

package com.sssppp;

public class Student {
private String name;

private int age;

public Student() {
super();
}

public Student(String name, int age) {
super();
this.name = name;
this.age = 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;
}

@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + "]";
}

}


测试类

package com.sssppp;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class Ch623 {

@Autowired
private AuthorSettings authorSettings;

@RequestMapping("/ch623")
public AuthorSettings index() {
return authorSettings;
}
}

测试结果

{"name":"ssslinppp","age":128,"student":{"name":"studentName","age":88}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: