Spring Boot入门(一)基于gradle创建第一个SpringBoot项目

1.Spring Boot是什么

Spring Boot 本身并不提供Spring框架的核心特征及扩展功能,只是用于快速、敏捷开发基于Spring的应用程序,即并不是替代Spring的方案,而是与Spring紧密结合来提升Spring开发效率的框架。

1) 为所有的Spring开发提供更快、更简单的入门体验

2) 开箱即用

3) 提供大型项目的非功能性特征

4) 零配置,遵循“约定大于配置”

2.开启Spring Boot的第一个Web项目

(1)快速创建一个Spring Boot 的Web项目

通过Spring Initializr初始化一个Web项目

访问https://start.spring.io初始化项目

初识化Web项目

项目结构如下

项目结构

(2)学会使用Gradle构建应用

  1. 通过Gradle来编译项目

    执行 gradle build 命令即可

    编译出错,连接不到中央仓库,可以更改配置,将中央仓库改为阿里云的中央仓库,操作步骤如下:

    1)进入项目目录,编辑build.gradle文件

    2)进行如下操作

    再次执行 gradle build 命令,运行结果如下:

    编译成功,进入项目目录的build–>libs目录下,会看到编译好的文件

    进入控制台,运行java -jar initializr-start-0.0.1-SNAPSHOT.jar,运行结果如下所示:

    项目成功运行,访问http://localhost:8080如下:

(3)理解Spring Boot项目结构、原理

3.使用IDEA创建一个一个Hello,World的SpringBoot项目

  1. 编辑项目构建信息

  2. 编写程序代码

    运行程序

  3. 编写测试用例

    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class HelloworldControllerTest {
    
        @Autowired
        private WebApplicationContext wac;
    
        private MockMvc mockMvc;
    
        @Before
        public void setUp() throws Exception {
            mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
        }
    
        @Test
        public void hello() throws Exception {
            String res = mockMvc.perform(MockMvcRequestBuilders.get("/hello").contentType(MediaType.APPLICATION_JSON_UTF8))
                    .andExpect(MockMvcResultMatchers.status().isOk())
                    .andExpect(MockMvcResultMatchers.content().string("hello,world!"))
                    .andReturn().getResponse().getContentAsString();
            System.out.println(res);
        }
    }
    
  4. 配置Gradle Warpper

    修改gradle/wrapper/gradle-warpper.properties文件,如下所示

    distributionBase=GRADLE_USER_HOME
    distributionPath=wrapper/dists
    zipStoreBase=GRADLE_USER_HOME
    zipStorePath=wrapper/dists
    distributionUrl=https://services.gradle.org/distributions/gradle-4.8-bin.zip
    
  5. 运行程序

    运行测试程序,结果如图

猜你喜欢

转载自blog.csdn.net/a2011102394/article/details/80651889