> 技术文档 > spring boot配置文件

spring boot配置文件


Springboot的热部署

spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。

引入依赖

修改java代码或者配置文件模板后可以通过ctrl+f9来实施热部署。

<dependency> 

<groupId>org.springframework.boot</groupId> 

<artifactId>spring-boot-devtools</artifactId> 

<optional>true</optional> 

</dependency>

 配置文件值注入

 

我们可以导入配置文件处理器,以后编写配置就有提示了

<!‐‐导入配置文件处理器,配置文件进行绑定就会有提示‐‐>

     org.springframework.boot

     spring‐boot‐configuration‐processor

     true

 

@Value获取值和@ConfigurationProperties获取值比较  

配置文件yml还是properties他们都能获取到值;

如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value

如果说,我们专门编写了一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties

配置文件注入值数据校验

@Component

@ConfigurationProperties(prefix = \"person\")

@Validated

public class Person {

   /**

    *

    * <property name=\"lastName\" value=\"字面量/${key}从环境变量、配置文件中获取值/#

      {SpEL}\">

    *

    */

   //lastName必须是邮箱格式

   @Email

   //@Value(\"${person.last‐name}\")

   private String lastName;

   //@Value(\"#{11*2}\")

   private Integer age;

   //@Value(\"true\")

   private Boolean boss;

   private Date birth;

   private Map<String,Object> maps;

   private List<Object> lists;

   private Dog dog;

SpringBoot推荐给容器中添加组件的方式;推荐使用全注解的方式

1、配置类@Configuration------>Spring配置文件

2、使用@Bean给容器中添加组件

/*** @Configuration:指明当前类是一个配置类;就是来替代之前的Spring配置文件** 在配置文件中用标签添加组件* */@Configurationpublic class MyAppConfig { //将方法的返回值添加到容器中;容器中这个组件默认的id就是方法名 @Bean public HelloService helloService02(){ System.out.println(\"配置类@Bean给容器中添加组件了...\"); return new HelloService(); }}

源码下载