technology-integration(二)---搭建SpringBoot框架

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


更多文章请关注该 technology-integration全面解析专题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。