根据个人喜好,我们有3种创建项目的方式,可以到github上下载,也可以手动创建一个Maven项目,还可以在springboot官网下载,我是在官网下载的,首先,我们访问start.spring.io,选择工程基本信息后,点击Switch back to the simple version,选择Java版本1.8
如图所示:在Group栏中输入项目的包名,Artifact栏输入项目名称,Dependencies栏输入依赖组件,然后点击Generate Project下载项目,将项目解压到工作空间,使用idea打开项目
等着idea项目加载完成,项目结构如下:
如上图所示Spring Boot的基础结构共三个文件:
src/main/java 程序开发以及主程序入口
src/main/resources 配置文件
src/test/java 测试程序
接下来我们可以根据自己的爱好创建项目的基本包结构
1、SpringbootdemoApplication.java 建议放到根目录下面,它属于启动类,程序的入口,主要用于做一些框架配置,可以扫描com.my.withub.springbootdemo包下及其子包的所有文件,因此我们的包都创建在启动类的同一级目录下
2、domain目录主要用于写实体代码
3、dao层主要写数据层代码
3、service 层主要是写业务类代码
4、controller 主要负责页面的访问控制
打开pom.xml文件,我们可以看到两个默认依赖
spring-boot-starter:核心模块,包括自动配置支持、日志和YAML、properties配置文件等
spring-boot-starter-test :测试模块,包括JUnit、Mockito等
接下来可以手动添加支持WEB模块的依赖
<!--添加支持web模块的依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
我们可以编写代码测试一下,编写controller内容
@RestController
@RequestMapping("springboot")
public class SpringBootController {
@RequestMapping("/hello")
public String hello(String name){
String msg = "Hello SpringBoot! "+name;
System.out.println(msg);
return msg;
}
}
@RestController注解的意思就是controller里面的方法都以json格式输出,表示当前Controller的方法的返回值可以直接用于body输出
启动主程序,可以看到默认端口是8080
打开浏览器访问http://localhost:8080/springboot/hello?dahuihui
每次修改都需要重启项目是不是很麻烦呢,我们来做一下热部署吧
<!--设置热部署-->
<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>
快捷键Ctrl+shift+A,输入reg找到Registry…点击
如下图勾选compiler.automake.allow.when.app.running
搜索make proj,如下图选择设置项目自动编译
这样修改内容之后不用手动重启项目,项目会自动加载。
接下来可以做单元测试
private MockMvc mvc;
@Before
public void setUp(){
mvc = MockMvcBuilders.standaloneSetup(new SpringBootController()).build();
}
@Test
public void getHello() throws Exception{
mvc.perform(MockMvcRequestBuilders.get("/hello?name=zhouminghui"));
}
运行结果显示如下:
是不是很简单呢,哈哈