一步步学习java后台(四)(Spring Boot的初始化)

2020-06-21  本文已影响0人  milawoai

链接

一步步学习java后台(一)
一步步学习java后台(二)
一步步学习java后台(三)

本期目标

学习Spring Boot的初始化,创建一个Spring Boot工程

Spring Boot

之前我们基于SpringMVC构建了引导工程,可以看到,SpringMVC,乃至Spring框架最大的痛点,在于配置文件过多。

对一个最简单的MVC工程,已经出现了 xxx-servlet.xml 与 applicationContext.xml两个配置文件,里面标签众多,据我所知,后台同学新建项目也是不停复制已有项目,不到遇见bug的时候是不会去查标签意思的。

SpringBoot就是用来解决这个痛点问题的。

下面👇一段是我复制百度百科的Spring Boot的简介:

SpringBoot所具备的特征有:

(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;

(2)内嵌Tomcat或Jetty等Servlet容器;

(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;

(4)尽可能自动配置Spring容器;

(5)提供准备好的特性,如指标、健康检查和外部化配置;

(6)绝对没有代码生成,不需要XML配置。 [1] [2]

Spring Boot让我们的Spring应用变的更轻量化。原理恶心至极的XML配置文件。最重要的是,对我这种后台白痴来说,官方提供了一个配置平台,可以自助的生成boot工程,下载之后我们用IDEA引入就好了。

Spring Boot initializr

https://start.spring.io/

image.png

左侧的选项我想大家都知道是怎么回事,如果你对java后台一点了解也没有,推荐你看下系列之前的SpringMVC的第一篇文章。

右侧 ADD Dependcies 可以添加依赖。因为我们要建立的是后台网络工程,需要认证和数据库,所以我们选择以下几项:

  1. Spring Web

  2. MyBatis Framework

  3. Spring Security

  4. Spring Boot DevTools

image.png

然后点击底部的generate按钮,工程就会下载到本地,然后使用IDEA引入即可,注意引入时和网站上工程左侧第一个工程模板保持一致。

image.png

工程的结构如下图所示:

image.png

添加接口

接口Cotroller的创建和SpringMVC没有任何区别,除了更简单。

我们新建一个controller文件夹,然后再新建一个helloworldController:


@RestController

public class HelloWorldController {

    @RequestMapping("/hello")

    public String index() {

        return "Hello World";

    }

}

然后,不停的按option + enter,直到所有类的都被引入为止。

SpringBoot自带tomcat,我们再也不需要配置本地tomcat和war包了,直接像普通的java程序一样,点击run (commond + r)运行即可:

image.png

如果你是参照我的步骤,现在应该会报错

image.png

这是因为我们引入了Mybatis的包,却没有配置对应的数据库链接。

image.png

这里我们只是为了查看下helloworld的执行情况,可以先将数据库过滤,在Application中exclude掉自动引入类:


@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

image.png

然后再次执行就可以顺利的运行。让我们访问 http://127.0.0.1:8080/hello,预期返回字符串hello。。

但是打开了一个登陆页面:

image.png

这个是因为Spring Security的验证拦截。

image.png

其默认用户名是user,而密码是随机生成的字符串,在IDEA的log中可以找到:

image.png

当然,我们也可以针对hello world接口跳过认证:


@EnableAutoConfiguration(exclude = {SecurityAutoConfiguration.class})

image.png

现在访问 http://127.0.0.1:8080/hello,就可以看到返回值了。

参考资料:

  1. Spring Boot基础教程:http://blog.didispace.com/spring-boot-learning-2x/

  2. Spring Boot基础教程代码:https://github.com/dyc87112/SpringBoot-Learning

  3. https://github.com/JeffLi1993/springboot-learning-example

上一篇下一篇

猜你喜欢

热点阅读