项目下载地址:
GitHub:https://github.com/baiyuliang/SpringBoot
SpringBoot相对于最早的三大框架SSH那一坨,还有之前的SpringMVC各种xml配置,简直是方便太多了,SpringBoot的主旋律就是AutoConfig,自动配置,简直不要太爽!如果你是一个安卓开发人员(或者懂Java语法),即便你从未接触过后端,也能很快上手!
直接入题,首先安装IDEA,最优秀的Java开发工具!IDEA是收费的,至于怎么可以白X,大家都懂!(另外,JDK环境变量是必不可少的,所以要先下载JDK8并安装配置环境变量)!
注意,此系列博客,使用的SpringBoot版本号全部为2.3.4!
安装完毕后,打开IDEA:
第一步:创建新项目:
选择此项创建项目,IEDA会自动帮我们完成项目的初始配置!
第二步:选择JDK版本,填写项目名称:
注意,默认jdk版本是11,这里我们改为8,开发语言,可以选择Java和Kotlin,如果你是Kt爱好者,可以尝试使用,但我建议你用Java,因为目前国内很少有用Kt去开发后端的,即便他的语法很香,而且网上关于SpringBoot的资源,也都是用的Java!另外,打包方式我们选择Jar,当然你也可以选择War,区别就是jar包方式自带了Tomcat服务器,直接运行java -jar就可以启动,而war包方式需要自己单独配置Tomcat或其它服务器!
第三步:选择要引入的模块,我们要开发web应用,那么SpringWeb是必不可少的:
其它的还有Security安全模块,Sql模块,Template模板模块等,这些都是后面要用到的,这里我们先不用选择!
然后Next直至完成,等待IDEA自动编译!
注意:当右下角出现下图选项时,我们最好选择自动导入:Enable Auto-Import!
首次创建项目,时间较长,我们可以先看下SpringBoot项目的目录结构:
src自不必说,resources文件夹下:
- /static:一般放静态资源,如css,images,js等;
- /templates:模板,一般就是放我们的网页资源html;
- application.properties:看名字就知道,这是应用配置文件,比如项目名、数据库连接、redis连接等等,基本上所有的项目配置选项,都在会这里记性配置;
另外,除了用application.properties类型的配置文件,我们也可以用application.yml类型的配置文件,他们也可以共存共用,他们对项目配置来讲,作用一模一样,仅仅是语法格式上的不同:
.properties:
spring.application.name=springboottest
.yml:
spring:
application:
name: springboottest
.properties比较简单,属性赋值就可以了,而yaml有严格的缩进机制,书写时要注意!(当然,在写相关属性时都会有相应提示,非常便捷)
pom.xml:
maven配置文件,所有的springboot相关的模块,都从这里引入,安卓和前端同学都应该知道,安卓引入第三方库,需要在build.gradle中引入,前端的需要通过npm安装到node_moudles,道理都是一样的,用到什么,就引入什么!
test:
测试类:
@SpringBootTest
class SpringboottestApplicationTests {
@Test
void contextLoads() {
}
}
我们在项目编写过程中,为了能快速测试结果,会经常用到!
最后,src/main下的XXXApplication类,就是我们整个项目的入口文件了:
@SpringBootApplication
public class SpringboottestApplication {
public static void main(String[] args) {
SpringApplication.run(SpringboottestApplication.class, args);
}
}
好了,现在我们点击右上角运行按钮:
运行成功,log信息中会提示内置tomcat的版本号和端口号(端口号可以在配置文件中修改),然后在浏览器地址栏输入:http://localhost:8080/
出现此界面说明运行成功,404错误是因为我们还没有添加任何html资源文件,好,那我们在templates文件夹下创建index.html:
重新运行项目,你会发现依然出现404,因为我们还需要再配置文件中配置资源路径:
spring:
resources:
static-locations: classpath:/static/, classpath:/templates/
注意,这里我用的是application.yml,重启,并刷新浏览器:
OK,成功!