在使用spring boot開發過程中,經常會定義一些應用自己的屬性,直接寫到application配置文件中使用@Value注解進行使用,這樣使用也沒有什么問題。不過我認為更優雅的方式是定義自己的屬性類統一管理,這樣在idea中,既能自動提示,又能對配置進行分類管理,顯得有條不紊,下面是具體的配置步驟。
第一步:添加依賴(分為maven和gradle兩種方式)
1.1 如果你使用的是maven
增加依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>
1.2 如果你使用的是gradle
增加依賴並且配置annotationProcessor
compileOnly 'org.springframework.boot:spring-boot-configuration-processor' annotationProcessor ‘org.springframework.boot:spring-boot-configuration-processor’
第二步:創建配置屬性類
@Data @ConfigurationProperties(prefix = “myapp.prefix")
public class MyAppProperties { private String prop1; private int prop2; }
第三步:在配置類中增加注解
@Configuration @EnableConfigurationProperties(MyAppProperties.class) public class MyConfig { }
第四步:使用屬性類
@Component public class MyComponent { private final MyAppProperties properties; public MyComponent(MyAppProperties properties) { this.properties = properties; } // 現在可以使用了
}
對了,別忘記配置你的application.yml
myapp:
prefix:
prop1: 1111
prop2: 2222
或 application.properties
myapp.prefix.prop1=1111 myapp.prefix.prop2=2222
另外需要注意:如果想要idea中自動提示生效,需要重新運行你的應用,有時候沒那么快生效。