美文网首页
一步步学习java后台(四)(Spring Boot的初始化)

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

作者: milawoai | 来源:发表于2020-06-21 22:04 被阅读0次

    链接

    一步步学习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

    相关文章

      网友评论

          本文标题:一步步学习java后台(四)(Spring Boot的初始化)

          本文链接:https://www.haomeiwen.com/subject/xqjzxktx.html