Spring initializr初始化Spring boot项目及快速构建一个hello world项目

导航

  • Part1:用gradle编译项目
  • Part2:一个hello world项目

Part1:用gradle编译项目

Spring initializr是Spring官方提供的一个很好的工具,从本质来说是一个Web应用程序,用来初始化Spring boot项目,生成项目结构。最直接的使用方式——用浏览器打开在线网址:https://start.spring.io

一、选择:用Maven还是Gradle来构建项目、语言工具、Spring boot版本、项目的基本信息(Group、Artifact)、选择依赖,然后点击Generate Project,下载项目的压缩包:
在这里插入图片描述
Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第1张图片
Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第2张图片

二、命令行中构建项目:gradle build,生成可执行jar文件:
Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第3张图片
Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第4张图片
三、构建完成后启动项目:
Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第5张图片

  • 端口号:8080在这里插入图片描述
  • 目录解释:
    Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第6张图片
    build.gradle :整个项目的构建脚本
    gradlew/ gradlew.bat:gradle环境的脚本
    build目录 / .gradle目录:gradle项目构建后生成的目录
    gradle/wrapper 统一项目所使用的版本
    src目录:约定,约定项目源码

四、build.gradle代码详解 :

buildscript {
	ext {
		springBootVersion = '1.5.2.RELEASE'		#版本,后面会引用
	}
	repositories {	#仓库,在这里引用与maven相同的中央仓库
		mavenCentral()
	}
	dependencies {	#依赖,依赖于spring boot的插件
		classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
	}
}
apply plugin: 'java'	#插件
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'

version = '0.0.1-SNAPSHOT'		#指定项目版本
sourceCompatibility = 1.8		#指定编译java的jdk版本

repositories {	#中央仓库
	mavenCentral()
}

dependencies {	#依赖
	compile('org.springframework.boot:spring-boot-starter-web')		#编译时的依赖
	testCompile('org.springframework.boot:spring-boot-starter-test')	#测试时的依赖
}

Part2:一个hello world项目

一、编写项目构建信息。拷贝part1中的代码和配置文件:
Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第7张图片
二、把build.gradle中version=‘0.0.1-SNAPSHOT '改成version=‘1.0.0-SNAPSHOT '。构建并运行,项目运行在8080端口上。打开浏览器访问 localhost:8080,返回错误页面,说明项目可以正常运行:
Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第8张图片
三、自定义存储库,加速构建:

repositories {
		//mavenCentral()注释掉默认的中央仓库,添加自己的
		maven{
			url  'http://maven.aliyun.com/nexus/content/groups/public/ '  
//阿里云的中央仓库
		}
	}

四、编写程序代码及测试用例
- Application.java 此类作为应用程序的启动
- HelloController.java 作为控制层的控制器
- HelloControllerTest.java 测试controller的接口

  • 1、 Application.java:把part1中initializrStartApplication重命名为Application
    Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第9张图片Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第10张图片
    补充:@SpringBootApplication是@Configuration、@EnableAutoConfiguration and @ComponentScan.的组合。把@Configuration注解和bean注解结合使用可以创建一个简单的spring配置类用来代替相应的xml配置文件。
    @Configuration(标识可以使用spring ioc容器作为bean的对应来源,bean注解会告诉spring一个带有bean注解的方法将会返回一个对象,而这个对象会被注册为spring上下文中的一个对象);
    @EnableAutoConfiguration (能自动配置spring的上下文,会试图猜测和配置想要的bean类,然后会根据内路径和bean的定义来实现自动配置);
    @ComponentScan(自动扫描定义包下全部标有Component的类,并将其注册为bean,也包括Component注解下的子注解)
  • 2、编写控制层:定义一个controller包:
    Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第11张图片
    在此包下创建一个控制器:
    Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第12张图片
    @RestController //加注解注入控制器,总代码如下:
    Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第13张图片
/**
 * Hello 控制器.
 * @author Administrator
 *
 */
@RestController   //加注解注入控制器
public class HelloController {
	//做MVC路径中的映射,打包,并把映射路径定义为/hello
	@RequestMapping("/hello")
	//写一个方法
	public String hello(){
		return "hello world!";
	}
}
  • 3、写一个测试用例
    Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第14张图片复制生成的test并重命名在这里插入图片描述
//测试hello方法
	public void testHello() throws Exception {
		//用get路径方法构建一个mockMvc的请求,并设置接收媒体类型,并增加一个期望
		//andExpect status()增加一句断言判断请求状态是ok的
		//andExpect content()判断请求返回内容为字符串并与hw匹配
		mockMvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
		.andExpect(status().isOk())
		.andExpect(content().string(equalTo("Hello World!")));
	}

RUN测试成功:在这里插入图片描述

  • 4、配置gradle wrapper,运行程序
Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第15张图片 Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第16张图片

此处指向gradle官方发布包的路径,改成3.5版本(个人习惯),gradlew build 方式构建:
在这里插入图片描述
成功构建:
Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第17张图片
成功启动,可看到启动的是8080端口,我们在浏览器中访问:Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第18张图片Spring initializr初始化Spring boot项目及快速构建一个hello world项目_第19张图片

你可能感兴趣的:(spring,boot)