Spring Boot (1)
阿新 • • 發佈:2018-09-03
配置文件 etc http 測試 pri auto val 主程序 del
新建一個spring boot項目
會生成這樣的一個目錄結構
如上圖所示,Spring Boot的基礎結構共三個文件:
- src/main/java 程序開發以及主程序入口
- src/main/resources 配置文件
- src/test/java 測試程序
可以通過修改 application.properties 配置文件來改變啟動的端口號默認地址等,相當於.NET 中的config文件
server.port=8080
idea中支持yml,且yml的寫法偏面向對象,所以可以將.properties 刪除,新建一個application.yml 做為配置文件,註意每個:後面需要跟一個空格
server: port:8080 test: name: 測試 remarks: 11122333
上面修改了啟動端口為8080 ,以及默認地址,新建一個控制器,以Controller結尾
@RestController public class HelloController { @RequestMapping(value = "/hello",method = RequestMethod.GET) public String hello(Model m) { return "第一個 boot!1"; } }
輸入地址訪問
註解 @RestController 相當於 @ResponseBody + @Controller
如果需要返回到指定頁面,則需要用 @Controller配合視圖解析器InternalResourceViewResolver。
如果需要返回JSON,XML或自定義mediaType內容到頁面,則需要在對應的方法上加上@ResponseBody註解。
讀取配置文件、熱部署
1、修改application.yml
server: port: 8080 test: name: 測試 remarks: 11122333
修改pox 添加jar包
<!--熱部署--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
修改IDEA
Ctrl+shift+alt+/ 回車 找到compiler.automake.allow.when.app.running 勾選
新增一個類,讀取配置,使用@ConfigurationProperties(prefix = "test")讀取 test需要和yml中的節點名稱保持一致
@Component @ConfigurationProperties(prefix = "test") public class TestConfig { private String name; private String remarks; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getRemarks() { return remarks; } public void setRemarks(String remarks) { this.remarks = remarks; } }
新建一個Controller ,java中控制器都以Controller 結尾,定義私有的屬性TestConfig,使用@Autowired註入
@RestController public class HelloController { @Autowired private TestConfig test; @RequestMapping(value = "/hello",method = RequestMethod.GET) public String hello(Model m) { return "第一個 boot!1"; } @GetMapping("/config") public String getConfig(){ return test.getName()+" 11 22"+test.getRemarks(); } }
Spring Boot (1)