ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

4-2 SpringBoot properties 配置 置入JavaBean中

2021-07-28 22:00:06  阅读:199  来源: 互联网

标签:SpringBoot maps age private properties person import public JavaBean


4-1说了yml文件置入JavaBean,properties文件也是一样的。

 

配置都一样,就是properties是这样写:

#private String lastName;
#private Integer age;
#private Boolean boss;
#private Date birth;
#private Map<String,Object> maps;
#private List<Object> lists;
#private Dog dog;

#=============================================================

#person.lastName 相当于 person.last-name
person.last-name=BiHu
person.age=18
person.boss=false
person.birth=2025/10/10
person.maps.k1=value1
person.maps.k2=value2
person.lists=v1,v2,v3,v4
person.dog.name=小勾勾
person.dog.age=2

 

然后其他都一样的 即:

package com.bihu.Bean;

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

import java.util.Date;
import java.util.List;
import java.util.Map;

//无论是properties 还是 yml 文件绑定映射 JavaBean 都是下面两个注解原理而且要导入对应gav,原理也说明白了
@Component
@ConfigurationProperties(prefix = "person")
public class JavaBean {

        private String lastName;
        private Integer age;
        private Boolean boss;
        private Date birth;
        private Map<String,Object> maps;
        private List<Object> lists;
        private Dog dog;

        @Override
        public String toString() {
            return "Person{" +
                    "lastName='" + lastName + '\'' +
                    ", age=" + age +
                    ", boss=" + boss +
                    ", birth=" + birth +
                    ", maps=" + maps +
                    ", lists=" + lists +
                    ", dog=" + dog +
                    '}';
        }

        public String getLastName() {
            return lastName;
        }

        public void setLastName(String lastName) {
            this.lastName = lastName;
        }

        public Integer getAge() {
            return age;
        }

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

        public Boolean getBoss() {
            return boss;
        }

        public void setBoss(Boolean boss) {
            this.boss = boss;
        }

        public Date getBirth() {
            return birth;
        }

        public void setBirth(Date birth) {
            this.birth = birth;
        }

        public Map<String, Object> getMaps() {
            return maps;
        }

        public void setMaps(Map<String, Object> maps) {
            this.maps = maps;
        }

        public List<Object> getLists() {
            return lists;
        }

        public void setLists(List<Object> lists) {
            this.lists = lists;
        }

        public Dog getDog() {
            return dog;
        }

        public void setDog(Dog dog) {
            this.dog = dog;
        }
    }
JavaBean.java

 

我们在用Test 测试一下:
package com.bihu;

import com.bihu.Bean.JavaBean;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)    //有了@RunWith(SpringRunner.class)这些类才能实例化到spring容器中,自动注入才能生效,
@SpringBootTest
public class ApplicationTests {


    //这里测试JavaBean
    @Autowired
    JavaBean Person;

    @Test
    public void contextLoads() {
        System.out.println(Person);
    }

}
ApplicationTests.java

 

发现小勾勾中文乱码 ,因为IDEA默认是UTF-8,我们在IDEA设置 查找 file Encodings ,编码换为UTF-8 右边是否转换ASCLL码 打钩即可

 

 

 

 

 

 

运行结果:

 

Person{lastName='BiHu', age=18, boss=false, birth=Fri Oct 10 00:00:00 CST 2025, maps={k1=value1, k2=value2}, lists=[v1, v2, v3, v4], dog=Dog{name='小勾勾', age=2}}

 

其实挺简单的

 

标签:SpringBoot,maps,age,private,properties,person,import,public,JavaBean
来源: https://www.cnblogs.com/bi-hu/p/15072797.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有