链接
一步步学习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
image.png左侧的选项我想大家都知道是怎么回事,如果你对java后台一点了解也没有,推荐你看下系列之前的SpringMVC的第一篇文章。
右侧 ADD Dependcies 可以添加依赖。因为我们要建立的是后台网络工程,需要认证和数据库,所以我们选择以下几项:
-
Spring Web
-
MyBatis Framework
-
Spring Security
-
Spring Boot DevTools
然后点击底部的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,就可以看到返回值了。
参考资料:
网友评论