SpringBoot入门
准Java全栈开发工程师 人气:0一、SpringBoot简介
SpringBoot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化 Spring 应用的初始搭建以及开发过程。
我们在学习 Spring 的时候说过 Spring 框架是为了简化开发的,而 SpringBoot 是为了简化 Spring 开发的,由此可见,使用 SpringBoot 开发将会更加的方便简捷。
那 SpringBoot 是如何简化开发的呢?我们以一个入门案例来说明。
二、SpringBoot入门案例
1、创建项目
我使用的 IDEA 版本偏低,可能页面会有些许不同,但是大体应该还是一致的。
使用 Spring Initializr 需要保证在联网的情况,但是有时在联网时也无法成功创建,可以使用下述方式,将网址改为阿里云的,我就是第一种方式怎么也创建不了,改用阿里云之后就可以了。
因为我们是进行 Web 开发,所以我勾选了 Spring Web。之后还可以勾选一些比较使用的开发工具等。
为项目命名。
点击 Finish 创建成功后,项目结构如下图所示。
2、编写 Controller 类
先抛开实体类、数据访问层和业务逻辑层等内容,我们直接简单测试一下表现层。
@RestController @RequestMapping("users") public class UserController { @GetMapping("/{id}") public String getById(@PathVariable Integer id){ System.out.println("id ==> " + id); return "{'msg':'qdxorigin'}"; } }
上述代码采用了 REST 风格开发,简单模拟根据 ID 查询信息。
3、启动项目
能够明显看到 Spring 的图像,且在加载信息中看到了和 tomcat 相关的内容,但是我们并没有配置 tomcat 啊?这就是 SpringBoot 更方便的一点,它内部自己给我们配置了 tomcat ,我们之后都无需再自己配置 tomcat 了。
4、使用 Postman 测试
与此同时,控制台也获取到了 ID 值。
三、SpringBoot VS Spring
通过练习入门案例,我们发现了,SpringBoot 内部会给我们配置 tomcat ,我们无需再自己配置。
除此之外,在之前的 SSM 开发中,我们会自己在 pom.xml 文件中手动配置许多依赖,但是在 SpringBoot 中我们并没有修改 pom.xml 文件中的任何内容,仅仅在创建项目的时候勾选了 Spring Web,使得 SpringBoot 将我们需要的依赖配置好了。
在整合 SSM 时,我们还手动书写了许多的配置类,但是 SpringBoot 中这些内容统统都不需要我们自己配置了。
SpringBoot 还有许多非常便捷的地方,目前较为明显的是上述三个优化。
四、在官网中构建工程
进入官网, 官网地址 。划到后面,找到下图,点击 Spring Initializr (有没有感觉很熟悉,在 IDEA 创建项目时是不是也是这个)。
看到下图,有没有感觉和我们使用 IDEA 创建项目时遇到的非常相似啊。其实使用 IDEA 工具创建也会走这一套流程。
在右边区域添加依赖,搜索选择添加的依赖。
同样会在下面呈现所选择的依赖。
全部都完成之后,点击 GENERATE 创建项目。
创建完成之后会生成一个压缩包,我们可以解压之后,导入 IDEA 中开发使用。
通过浏览压缩包中内容会发现和我们通过 IDEA 创建的项目结构是一模一样的。 五、打包 SpringBoot 项目 在 pom.xml 文件中,提供有如下插件,所以我们可以使用 Maven 的 package 指令打包,完成后会在 target 目录下生成对应的 jar 包。
此时,在 target 文件夹中已经能够看到 jar 已经打包好了,如果前端人员需要,可以将打包好的 jar 包拷贝给他,他可以直接运行调试自己的前端代码。
前端人员拿到 jar 包后,在该位置输入 cmd 进入我们常说的小黑框。
输入 java -jar 命令。
有没有感觉到一些熟悉,没错,这和我们在 IDEA 中呈现的效果是一样的。此时我们就可以访问项目的所有资源了。
六、SpringBoot 是如何实现简化开发的
前面说过,SpringBoot 是可以简化 Spring 应用开发的,通过入门案例我们也能够明显的感觉到使用 SpringBoot 框架开发的便利,那么它是如何简化开发的呢?
这其中就不免需要介绍两个非常重要的内容。
1、启动依赖
通过查看 pom.xml 文件中的代码,我们不难发现有许多命名为 starter 的依赖。
这些依赖中又引用了许多其他 starter 依赖。
这也就告诉我们,在 SpringBoot 项目中,如果想要使用某个技术,直接导入相应的 starter 依赖就可以了,配置所需要的内容在该 starter 依赖中都有,给我们节省了很大一部分精力。
2、引导类
当工程创建完成后,都会自动提供一个引导类,该类是程序启动的入口,当我们想要自动程序时,直接运行 main 方法即可。
@SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
正式因为有了这些启动依赖和引导类,我们就能够专注于业务代码,而无需对一些配置工作而耗费精力,简化开发。
七、切换 Web
服务器 通常情况下,我们都会使用 tomcat 作为项目的服务器,但是如果某天我们想要切换自己的服务器,该如何操作呢?
在此以切换为 jetty 服务器为例简单演示下如何操作。
第一步,我们需要将 starter 依赖中自动配置的 tomcat 服务器排除掉,使其失效。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency>
此时我们再启动工程,会发现打印的信息中找不到和 tomcat 相关的了。
第二步,导入 jetty 依赖。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId> </dependency>
此时,再次启动项目,看到了 jetty 相关打印信息,说明已经成功切换了服务器
加载全部内容