springboot0x0在IDEA下创建项目

搭建spring-boot项目

IDE工具:IDEA 2018
JDK:8
操作系统:deepin15

创建项目

创建一个项目选择spring Initializr

在这进行自定义项目信息

选择添加项目组件,他会自动添加到maven的pom.xml自动添加进来,其他组件后面需要可以再进行添加。我现在先选一个web,里面包含了一个web项目运行所需要的tomcat,并支持SpringMVC,ResetFul服务。

然后就next,需要改的就改。

创建Controller并运行

添加一个类代码为

import org.springframework.stereotype.Controller;  
import org.springframework.web.bind.annotation.RequestMapping;  
import org.springframework.web.bind.annotation.ResponseBody;  

//标注这个类为一个controller负责处理web请求  
@Controller  
public class helloContorller {  
    //浏览器访问路径  
  @RequestMapping(value = "/")  
    //要求返回为文本而不是视图  
  @ResponseBody  
  public String hello(){  
        return "Hello world";  
    }  
}

其中 @名称 为注解,通过注解减少配置文件的编写。

在 DemoApplication文件中使用了@SpringBootApplication注解,把这个普通的类变成了Spring Boot应用

重点 控制器文件的目录层次一定不能高于Application.java,否则会访问报错。目录结构大概为

com
   +- APP
         +- Application.java  <--- your main class should be here, above your controller classes
         |
         +- model
         |   +- user.java
         +- controller
             +- UserController.java

然后运行,在浏览器中可以直接看到返回了信息

使用热部署

每次修改完都要重新启动运行,非常的麻烦,所以可以价格热部署组件。Boot提供了spring-boot-devtools,他可以在修改了类或者配置文件的时候自动重新加载Spring boot应用。
在pom.xml依赖文件标签中添加依赖如下

<dependency>  
    <groupId>org.springframework.bootgroupId>  
    <artifactId>spring-boot-devtoolsartifactId>  
    <optional>trueoptional>  
dependency>

然后设置IDEA让他运行自动更新运行。
- 首先在设置里面Bulid,Excecution,…下的compiler选择自动编译,

- 然后按组合键alt+shift+ctrl+/ 选择regsitry,然后勾选一下下面的选项。

等待依赖更新完之后,然后重启一下应用,修改一下hello方法的访问路径为@RequestMapping(value = “index”) ,保存之后就可以看到在控制台自动输出信息了,在浏览器中的访问路径也修改了。

添加REST 支持

上述的Hello方法代码修改为

import org.springframework.stereotype.Controller;  
import org.springframework.web.bind.annotation.RequestMapping;  
import org.springframework.web.bind.annotation.ResponseBody;  
import org.springframework.web.bind.annotation.RestController;  

//标注这个类为一个controller负责处理web请求  
@RestController  
public class helloContorller {  
    //浏览器访问路径  
  @RequestMapping(value = "hello")  
    //要求返回为文本而不是视图  
  //@ResponseBody  
  public String hello(){  
        return "Hello world";  
    }  
}

本例子使用了@RestController而不是@Controller,也没有使用@ResponseBody注解。可以理解为@RestController=@Controlle+@ResponseBody。

Reset只是一种架构风格而不是一种特别的技术体系。

你可能感兴趣的:(JavaEE)