栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

本期目标

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

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

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

    Spring Web

    MyBatis framework

    Spring Security

    Spring Boot DevTools

然后点击底部的generate按钮,工程就会下载到本地,然后使用IDEA引入即可,注意引入时和网站上工程左侧第一个工程模板保持一致。想学习交流HashMap,nginx、dubbo、Spring MVC,分布式、高性能高可用、MySQL,redis、jvm、多线程、netty、kafka、的加尉xin(同英):1253431195 扩列获取资料学习,无工作经验不要加哦!

工程的结构如下图所示:

添加接口

接口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)运行即可:

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

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

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

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

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

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

这个是因为Spring Security的验证拦截。想学习交流HashMap,nginx、dubbo、Spring MVC,分布式、高性能高可用、MySQL,redis、jvm、多线程、netty、kafka、的加尉xin(同英):1253431195 扩列获取资料学习,无工作经验不要加哦!

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

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

@EnableAutoConfiguration(exclude = {SecurityAutoConfiguration.class})

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/764302.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号