1,介绍:
开发中难免会有使用到定义属性的时候,那学习springboot的肯定都知道获取方式,因为工作常用,我简单归纳几种方式以便需时查看。
1.1,yml格式常见的几种方式:
application.yml配置文件:
company:
id: 1
nanme: 东方红
describe: 一种颜色,美好的颜色
第一种方式:
/**
* @author lblz
* @deacription
* @date 2021/9/29 10:08
**/
@Data
@ToString
@Component
@ConfigurationProperties(
prefix = "company"
)
public class Company {
/**
* id
*/
private Long id;
/**
* 公司名称
*/
private String name;
/**
* 描述
*/
private String describe;
}
第二种方式:
使用@value注解
/**
* @author lblz
* @deacription
* @date 2021/9/29 10:08
**/
@Data
@ToString
@Component
public class Company {
/**
* id
*/
@Value(value = "${company.id}")
private Long id;
/**
* 公司名称
*/
@Value(value = "${company.name}")
private String name;
/**
* 描述
*/
@Value(value = "${company.describe}")
private String describe;
}
测试类:
/**
* @author lblz
* @deacription
* @date 2021/9/29 10:13
**/
@RunWith(SpringRunner.class)
@SpringBootTest
public class TestYml {
@Autowired
private Company company;
@Test
public void test01() {
System.out.println(company);
/* 输出结果:
第一种方式: Company(id=1, name=东方红, describe=一种颜色,美好的颜色)
第二种方式: Company(id=1, name=东方红, describe=一种颜色,美好的颜色)
*/
}
}
1.2,properties格式常见的几种方式:
company.properties配置文件:
company.id=1
company.name=小小红旗
company.describe=人民的精神信仰
第一种方式:
/**
* @author lblz
* @deacription
* @date 2021/9/29 10:08
**/
@Data
@ToString
@Component
@PropertySource(value = {"classpath:company.properties"}, encoding = "UTF-8")
public class Company {
/**
* id
*/
@Value(value = "${company.id}")
private Long id;
/**
* 公司名称
*/
@Value(value = "${company.name}")
private String name;
/**
* 描述
*/
@Value(value = "${company.describe}")
private String describe;
}
第二种方式:
/**
* @author lblz
* @deacription
* @date 2021/9/29 10:08
**/
@Data
@ToString
@Component
@PropertySource(value = {"classpath:company.properties"}, encoding = "UTF-8")
@ConfigurationProperties(prefix = "company")
public class Company {
/**
* id
*/
private Long id;
/**
* 公司名称
*/
private String name;
/**
* 描述
*/
private String describe;
}
测试类:
/**
* @author lblz
* @deacription
* @date 2021/9/29 10:13
**/
@RunWith(SpringRunner.class)
@SpringBootTest
public class TestYml {
@Autowired
private Company company;
@Test
public void test01() {
System.out.println(company);
/*输出结果:
第一种方式: Company(id=1, name=小小红旗, describe=人民的精神信仰)
第二种方式: Company(id=1, name=小小红旗, describe=人民的精神信仰)
*/
}
}