SpringBoot是什么
兄弟,百度去吧,别来逗我了,SpringBoot都不知道什么,那你可能打开错连接了,左转www.baidu.com,不送!
为什么要用SpringBoot
爽啊,还能为什么!右转www.google.com,see you la la
创建项目
第一步第二步
第三步
第三步可以先不选择导入jar包,注意SpringBoot的版本号!我用的是2.0.2版本
idea就是舒服,不安装插件也可以创建SpringBoot项目,idea天下无敌,不接受反驳,谢谢!
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.viu</groupId>
<artifactId>technology-integration</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>technology-integration</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.0.0.RELEASE</version>
</plugin>
</plugins>
</build>
</project>
这里引入了FastJson的jar主要是因为FastJson的性能在所有Json框架中是顶尖的。而SpringBoot默认采用的Json框架是Jackson,可以说这个框架的性能也是很优秀的,但我个人很烦的一点就是ObjectMapper这个命名,毫无感觉啊兄贵,看名字根本就不知道什么意思,用了其他几个json框架你会发现大多数都是JSON作为类名的前缀,可Jackson愣是让我找不到东南西北,或许是我太菜了,哈哈
项目结构图
image.png第一个demo
在controller包中新建一个DemoController类,所有的代码解释都会直接写在注释中,方便你们理解代码
//标注该类为Controller类
@RestController
@RequestMapping("/demo")
public class DemoController {
// /demo/hello这个请求路径只能使用Get请求
@GetMapping("/hello")
public String hello() {
//返回字符串到流中,
return "this is my first demo";
}
}
@RestController表示该类下的所有请求方法的返回结果都直接写入 HTTP 响应正文(ResponseBody)中,可以直接Ctrl+鼠标左键进入该注解的源码中瞧一瞧。可以看到@RestController是由@Controller和@ResponseBody组成的,这其实就是SpringBoot框架对这两个注解的进一步封装,也大大体现了SpringBoot相对于Spring+SpringMVC开发的优势。
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {
@AliasFor(
annotation = Controller.class
)
String value() default "";
}
测试
测试第一步还是先将项目运行起来
image.png使用Postman进行测试(接下来的所有接口都会使用postman进行测试),选择Get请求,输入hello方法所对应的请求地址
image.png
网友评论