写点什么

SpringBoot 系列(1)- 初识 SpringBoot

用户头像
引花眠
关注
发布于: 2020 年 09 月 21 日

SpringBoot 初识

EJB 时期

估计大多数开发人员都没怎么接触过 EJB 项目,在这里我给大家简单科普一下(勿喷),EJB 是 Java EE 的规范,定义了一个用于开发基于组件的企业多重应用程序的标准。我的第一份工作是给银行做外包,主要工作是对项目进行维护升级,当时的项目比较古老,使用的是 EJB2.0,我简单说下我当时的感受:

开发新功能过程比较繁琐,配置文件较多

  1. 写一个接口继承 EJBObject 这个类作为远程接口

  2. 写一个接口继承 EJBHome 这个类里有一个方法是 create()它返回接口类型

  3. 写一个 Bean 继承 SessionBean 这个类里包含一个 create()方法和一个业务方法

  4. 写一个 ejb-jar.xml 这个 xml 是把上面的三个文件组合起来

  5. 写一个 weblogic-ejb-jar.xml 这个 xml 是连接查找 source 的作用

只能运行在 WebSphere、WebLogic 等 EJB 容器,启动耗时很长,消耗资源很大

总之大多数时间花费在了配置上,而且测试也比较麻烦

Spring 时期

之后的项目,我开始接触 Spring,那时候项目的结构是 SSH。第一次接触到 Spring 时,我就喜欢上了它,与 EJB 相比它有以下优点:

  1. 减少了很多配置文件

  2. 减少了很多模板代码,比如数据库关闭操作等

  3. 启动 Spring 应用时,资源消耗比 EJB 小很多

  4. 不必要继承 Spring 中的类就可以进行开发

  5. 不需要自己管理依赖

  6. 。。。。。。

可能是第一份工作对我的影响真的很大,在 Spring 支持 Java 方式配置之后的很长时间里,我还是习惯于使用 xml 配置 Spring,比如 MVC 拦截器,事务等。

简要的描述一下,这个阶段我做新项目的步骤:

  1. 使用 Gradle 或 Maven 构建依赖

  2. 将之前项目的配置文件复制一份到项目中

  3. 开始开发测试

  4. 将其部署到 Tomcat 中进行测试

  5. 打包发布

SpringBoot 时期

第一次听说 SpringBoot 是 2016 年,那时候的版本还是 SpringBoot1.2,当我第一次用它写了一个 HelloWorld 时,我惊呆了,这太方便了。比如说用 SpringBoot 构建一个 Web 版的 HelloWorld:

  1. 访问spingboot Initializr

  2. 选择构建工具,输入 group、artifact,选择起步依赖等,如图所示



  1. 点击生成项目,然后将下载的项目用 Eclipse 打开

  2. 构建以下代码,并运行 DemoApplication.java

  3. 打开网页,输入网址http://localhost:8080,则我们将会看的

package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;
@RestController@RequestMapping("")public class HelloWorldController {
@GetMapping("") public String hello() { return "Hello World!"; }}
复制代码



让我们来看一下,SpringBoot 帮我们做了什么

对比项 SpringSpring Boot 项目结构手动创建包含 src 等文件夹使用 Spring Initializr 确定依赖手动确定相关,比如 Spring 的版本等使用 Spring Initializr,增加起步依赖配置文件创建 Web.xml 或 Spring 的 WebApplicationInitializer 实现使用 Spring Initializr,增加起步依赖 Web 运行需要将其发布到 Tomcat 中运行直接运行 main 方法或通过命令行运行,内置 Tomcat 部署需要将其发布到 Web 容器中运行,并选择激活的属性通过命令行直接在参数中增加属性设置

所以,Spring 帮我们解决了以下问题:

  1. 它使配置变得简单 使用了很多条件化配置特性,利用 Maven 或 Gradle 的依赖传递,实现了自动配置,完全不需要使用 xml 进行任务配置

  2. 它使编码变得简单 避免了很多样板代码,增加了大量的注解

  3. 它使部署变简单 多种部署方式,内置 web 容器,可以使用命令行启动

  4. 它通过使用 actuator,使得我们可以监控和度量应用


发布于: 2020 年 09 月 21 日阅读数: 56
用户头像

引花眠

关注

还未添加个人签名 2018.06.11 加入

还未添加个人简介

评论

发布
暂无评论
SpringBoot系列(1)-初识SpringBoot