1. 程式人生 > >Spring Boot (1)

Spring Boot (1)

配置文件 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)