在跑起来之前,我们添加一个类用来测试看效果。如下所示,添加一个 Example 文件。

springboot 线程安全缓存 springboot怎么保证线程安全_后端

5 启动项目

好了,现在就说说如何启动项目,第一种方式,使用 Maven 命令打包,然后执行 jar 包。

springboot 线程安全缓存 springboot怎么保证线程安全_后端_02

打好的 Jar 包在 target 中,在 Terminal 中进入目录使用 java -jar 命令执行即可。当然,你也可以在 DOS 中执行这个 Jar 包。

springboot 线程安全缓存 springboot怎么保证线程安全_spring_03

第二种方式,使用插件命令直接执行。我们也可以直接在 Terminal 中输入 mvn spring boot:run 一样的效果(可以在 pom.xml 中看到引用的插件)。

springboot 线程安全缓存 springboot怎么保证线程安全_后端_04

第三种方式,右击 run 即可。

springboot 线程安全缓存 springboot怎么保证线程安全_springboot 线程安全缓存_05

好了,上面说了这么多,每一种方式都是可行的,访问 localhost:8080 即可看到 Hello World!

OK ,下面就分析一波组成 demo 的各个部分。

pom.xml 文件

我们之前就说过 Spring Boot 的一个优点就是依赖管理变的简单,具体看看都提供了什么。

org.springframework.boot

spring-boot-starter-parent

2.1.3.RELEASE

复制代码

首先 pom 文件中提供了父级依赖的概念,这个依赖是 Spring Boot 项目的标识,spring-boot-starter-parent 是一个特殊的 starter,它用来提供 Maven 默认依赖,而且有了它,我们也不需要为不同的依赖添加版本信息。

当然我们可以重写某个依赖的版本,但是不建议这样做,可能就会和其它 jar 包不兼容了。假如在自己公司维护的有一套依赖关系,我们也可以不用父级依赖,也可以只使用其中的一部分依赖,借助于关键字 import

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

实现。但是,实际中应该是默认的居多。

pom 中还给我们定义了很多的 “starter” 每一个 starter 就像一个包一样,这其中包含的是一个模块的依赖,举例看看 spring-boot-starter-web 这个起步依赖内部就依赖了其它的依赖,这样我们 pom 文件就省心简洁多了。

springboot 线程安全缓存 springboot怎么保证线程安全_面试_06

另外 pom 文件中还包含插件,这里 pom 文件中只能看到一个 maven 插件,其实还有一些插件已经放在父级依赖中了。

启动类,Demo2Application.java ,这里是程序的入口,我们刚刚也可以执行这个类,但是执行之后就结束了,因为这里面没有映射的路径信息,我们也可以把 Example 中的方法放在这个启动类中并添加相应的注解,也是可行的。

总结

最后,这个 demo 中还涉及到几个注解,挨个说一下。

@SpringBootApplication 作用有三点

1、启动 Spring Boot 的自动配置机制,作用等同于 @EnableAutoConfiguration 。