Spring Boot(一)构建项目

一、使用 Intellij IDEA 创建 SpringBoot 项目

1、点击 Create New Project

在这里插入图片描述

2、选择 Spring Initialzr
  1. Spring Initializr(初始)
  2. 选择 jdk 版本
  3. Next

在这里插入图片描述

3、填写 group ,选择 packaging— War, 选择 Next
  1. Group 组织唯一标识(组织域名倒序)
  2. Artifact 项目的唯一标识
  3. 输出格式 jar/war
  4. jdk 版本
  5. 开发语言 java Version 目前项目版本
  6. Next

在这里插入图片描述

4、选择 Web, 点击 Next,下一步点击 finish 就好了
  1. 选择依赖 Web
  2. 选择 Web(RESTful/SpringMVC)
  3. 选择依赖的 Spring Boot 版本
  4. Next

在这里插入图片描述

5、命名项目
  1. 项目名称
  2. 项目工作目录(注:以项目名结尾)
  3. Finish

在这里插入图片描述

6、Spring Boot 项目目录结构

Spring Boot 的基础结构共三个文件:
src/main/java 程序开发以及主程序入口
src/main/resources 配置文件
src/test/java 测试程序

另外, Spring Boot 建议的目录结果如下:
root package 结构:com.example.myproject

com
  +- example
    +- myproject
      +- Application.java
      |
      +- model
      |  +- Customer.java
      |  +- CustomerRepository.java
      |
      +- service
      |  +- CustomerService.java
      |
      +- controller
      |  +- CustomerController.java
      |
  1. Application.java 建议放到根目录下面,主要用于做一些框架配置
  2. model 目录主要用于实体与数据访问层(Repository)
  3. service 层主要是业务类代码
  4. controller 负责页面访问控制

采用默认配置可以省去很多配置,当然也可以根据自己的喜欢来进行更改
最后,启动 Application main 方法,至此一个 Java 项目搭建好了!

二、引入 web 模块

1、pom.xml 中 <dependencies> 下添加支持 web 的模块:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

pom.xml 文件中默认有两个模块:

  1. spring-boot-starter :核心模块,包括自动配置支持、日志和 YAML,如果引入了 spring-boot-starter-web web 模块可以去掉此配置,因为 spring-boot-starter-web 自动依赖了 spring-boot-starter。
  2. spring-boot-starter-test :测试模块,包括 JUnit、Hamcrest、Mockito。
2、在 controller 目录下新建 HelloWorldController.java,填入以下内容:
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;

@RestController
public class HelloWorldController {
    @RequestMapping("/hello")
    public String index() {
        return "Hello World";
    }
}

@RestController 的意思就是 Controller 里面的方法都以 json 格式输出,不用再写什么 jackjson 配置的了!

3、启动主程序,打开浏览器访问 http://localhost:8080/hello,就可以看到效果了,有木有很简单!

在这里插入图片描述

三、如何做单元测试

打开的src/test/下的测试入口,编写简单的 http 请求来测试;使用 mockmvc 进行,利用 MockMvcResultHandlers.print() 打印出执行结果。

@RunWith(SpringRunner.class)
@SpringBootTest
public class HelloTests {

  
    private MockMvc mvc;

    @Before
    public void setUp() throws Exception {
        mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build();
    }

    @Test
    public void getHello() throws Exception {
        mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
                .andExpect(status().isOk())
                .andExpect(content().string(equalTo("Hello World")));
    }

}

开发环境的调试

热启动在正常开发项目中已经很常见了吧,虽然平时开发web项目过程中,改动项目启重启总是报错;但springBoot对调试支持很好,修改之后可以实时生效,需要添加以下的配置:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
            </configuration>
        </plugin>
</plugins>
</build>

该模块在完整的打包环境下运行的时候会被禁用。如果你使用 java -jar 启动应用或者用一个特定的 classloader 启动,它会认为这是一个“生产环境”。

四、总结

使用 Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用 Spring Boot 非常适合构建微服务。

参考:
http://www.ityouknow.com/springboot/2016/01/06/spring-boot-quick-start.html
https://blog.csdn.net/typa01_kk/article/details/76696618
https://juejin.im/post/5c4317e2f265da614933e9f4

posted @ 2019-12-03 17:50  王图思睿  阅读(105)  评论(0)    收藏  举报