javascript
springboot profile_SpringBoot简单配置
????使用Spring Boot,配置工作將會變得更加簡單,我們只需要在application.properties中定義屬性,然后在代碼中直接使用@Value注入即可。?
如下:
book.author=xxxbook.name=yyy?book.pinyin=測試????這里專門設置了中文,因為中文不做特殊處理會亂碼,處理方式為繼續在application.properties中添加如下代碼:
server.tomcat.uri-encoding=UTF-8spring.http.encoding.charset=UTF-8spring.http.encoding.enabled=truespring.http.encoding.force=true spring.messages.encoding=UTF-8????然后 在IntelliJ IDEA中依次點擊File -> Settings -> Editor -> File Encodings?
將Properties Files (*.properties)下的Default encoding for properties files設置為UTF-8,將Transparent native-to-ascii conversion前的勾選上。
????在變量中通過@Value直接注入就行了,如下:
@Value(value = "${book.author}") private String bookAuthor; @Value("${book.name}") private?String?bookName;????@Value("${book.pinyin}")????private?String?bookPinYin;類型安全的配置
剛剛說的這種方式我們在實際項目中使用的時候工作量略大,因為每個項目要注入的變量的值太多了,這種時候我們可以使用基于類型安全的配置方式,就是將properties屬性和一個Bean關聯在一起,這樣使用起來會更加方便。我么來看看這種方式怎么實現。
1.在src/main/resources文件夾下創建文件book.properties
文件內容如下:
book.name=紅樓夢book.author=曹雪芹book.price=282.創建Book Bean,并注入properties文件中的值
代碼如下:
@Component@PropertySource(value= "book.properties")@ConfigurationProperties(prefix = "book")public class BookBean { private String name; private String author; private String price; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public String getPrice() { return price; } public void setPrice(String price) { this.price = price; }}prefix是指前綴,location指定要注入文件的位置。
3.添加路徑映射
在Controller中添加如下代碼注入Bean:
@Autowiredprivate?BookBean?bookBean;添加路徑映射:
@RequestMapping("/book") public String book() { return "Hello Spring Boot! The BookName is "+bookBean.getName();}運行效果如下:?
日志配置
????默認情況下Spring Boot使用Logback作為日志框架,也就是我們前面幾篇博客中用到的打印日志方式,當然如果有需要我們可以手動配置日志級別以及日志輸出位置,相比于我們在Spring容器中寫的日志輸出代碼,這里的配置簡直就是小兒科了,只需要在application.properties中添加如下代碼:
logging.file=/home/sang/workspace/log.loglogging.level.org.springframework.web=debug上面表示配置日志輸出位置,下面配置日志級別。
Profile配置問題
????Spring Boot 提供了更為簡潔的方式。全局Profile配置我們使用application-{profile}.properties來定義,然后在application.properties中通過spring.profiles.active來指定使用哪個Profile。
1.在src/main/resources文件夾下定義不同環境下的Profile配置文件,文件名分別為application-prod.properties和application-dev.properties,這兩個前者表示生產環境下的配置,后者表示開發環境下的配置,如下:
application-prod.properties:
server.port=8081application-dev.properties:
server.port=8080然后在application.properties中進行簡單配置,如下:
spring.profiles.active=dev這個表示使用開發環境下的配置。然后運行項目,我們得通過8080端口才可以訪問:?
如果想換為生產環境,只需要把spring.profiles.active=dev改為spring.profiles.active=prod即可,當然訪問端口這時也變為8081了,如下:
SpringBoot配置時,也可以用yml來配置,用yml來配置的話,結構相對要清晰很多。
????注意點:
1,原有的key,例如
server.port,按“.”分割,都變成樹狀的配置
server: prot: 80812,key后面的冒號,后面一定要跟一個空格
#application.ymlserver: port: 8080 spring: datasource: name: test url: jdbc:mysql://127.0.0.1:3306/test username: root password: xxx兩者的區別
1.內容格式比較:
??? .properties文件,通過.來連接,通過=來賦值,結構上,沒有分層的感覺,但比較直接。
??? .yml文件,通過:來分層,結構上,有比較明顯的層次感,最后key賦值的:后需要留一個空格
2.執行順序
????如果工程中同時存在application.properties文件和 application.yml文件,yml文件會先加載,而后加載的properties文件會覆蓋yml文件。所以建議工程中,只使用其中一種類型的文件即可。
總結
以上是生活随笔為你收集整理的springboot profile_SpringBoot简单配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3.7.2安装与配置_pyt
- 下一篇: channelsftp 上传文件为空_S