1.springboot原理分析:
1)从springboot的起步依赖,来说其实就是锁定了一些坐标的版本,插件管理,依赖管理等.所以说springboot的起步依赖,其实就是依赖的传递.
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath/>
</parent>
2)从自动配置原理分析:
@SpringBootApplication中有很多其他的注解:
其中@SpringBootConfiguration:等同与@Configuration,既标注该类是Spring的一个配置类
@EnableAutoConfiguration:SpringBoot自动配置功能开启
2.配置文件的类型和作用
springboot是基于约定的,有很多默认配置.如果想要替换掉这些默认配置,可以在application.properties或application.yml文件中进行配置.
3.读取配置文件中的值
1)通过注解@value读取:下面是读取的步骤
通过注解读取
@RestController
public class TestController {
@Value("${name}")
private String name;
@Value("${person.age}")
private String age;
@RequestMapping("/test")
public String test(){
return name+":"+age;
}
}
页面显示结果:
2)通过注解@ConfigurationProperties读取
@RestController
@ConfigurationProperties(prefix = "person")
public class TestController {
private String name;
private String age;
@RequestMapping("/test")
public String test(){
return name+":"+age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
页面结果如下:
注意通过@ConfigurationProperties读取需要提供属性的set方法,而通过@Value方法不需要提供set方法.