1.springboot 的配置文件
application.yml 和 application.properties两种
1.1 yml的配置文件对象属性赋值是 key: value格式
属性赋值测试
package com.yousian.pojo;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Component /*创建一个<bean id="person" class="com.yousian.pojo.Person"></bean>*/
@ConfigurationProperties(prefix="person") /*配置属性 将配置文件中属性值绑定到bean里*/
public class Person {
private String lastName;
private Integer agg;
private Boolean boos;
private Date birth;
private Map<String,Object> maps;
private List<Object> lists;
private Dog dog;
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public Integer getAgg() {
return agg;
}
public void setAgg(Integer agg) {
this.agg = agg;
}
public Boolean getBoos() {
return boos;
}
public void setBoos(Boolean boos) {
this.boos = boos;
}
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;
}
@Override
public String toString() {
return "Person{" +
"lastName='" + lastName + '\'' +
", agg=" + agg +
", boos=" + boos +
", birth=" + birth +
", maps=" + maps +
", lists=" + lists +
", dog=" + dog +
'}';
}
}
创建测试实体类
person:
lastName: james
age: 22
boss: true
birth: 1998/1/2
maps: {ke: k1,v2: v2}
lists:
- zhangsan
- lisi
- wangwu
dog:
name: dahuang
age: 2
去配置文件中赋值
@RestController
@RequestMapping("hello")
public class HelloController {
@Autowired
Person person;
@RequestMapping("person")
public Person getInfo(){
System.out.println(person);
return person;
}
}
创建测试类
测试成功 ok
2.springBoot中如何管理bean
1.无参数的构造函数
2.静态实例化工厂
3.实例化工厂
4.注解 @Controller @service…
5.java配置类的方式管理bean
第一步:定一个类
public class UserService {
public void addUser(){
System.out.println("已执行");
}
}
第二步:创建一个配置类放入bean
@Configuration //声明当前类是一个配置类
public class MyConfig {
@Bean
public UserService userService(){
return new UserService();
}
}
第三部:执行测试
@RestController
@RequestMapping("hello")
public class HelloController {
@Autowired
UserService userService;
@RequestMapping("test")
public String sayHello() {
userService.addUser();
return "hello";
}
}
3.springBoot中常用的注解
1.@Configuration //声明当前类是一个配置类
2.@PropertySource(value = {“classpath:student.properties”})//加载局部配置文件 只能识别properties文件
3.@Component /创建一个/交给spring容器管理
4.@ConfigurationProperties(prefix=“person”) /配置属性 将配置文件中属性值绑定到bean里/
5.@Validated /开启数据校验 校验数据格式是否正确/
5.1 @Email数据校验
6.@Value("${emp.age}") 给实体类中的属性赋值
7. @Bean给容器中添加组件