Spring Boot (1)

新建一个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();
    }
}

  

posted @ 2018-09-03 18:03  风吹一点云  阅读(146)  评论(0编辑  收藏  举报