SpringBoot 系列(1)- 初识 SpringBoot
SpringBoot 初识
EJB 时期
估计大多数开发人员都没怎么接触过 EJB 项目,在这里我给大家简单科普一下(勿喷),EJB 是 Java EE 的规范,定义了一个用于开发基于组件的企业多重应用程序的标准。我的第一份工作是给银行做外包,主要工作是对项目进行维护升级,当时的项目比较古老,使用的是 EJB2.0,我简单说下我当时的感受:
开发新功能过程比较繁琐,配置文件较多
写一个接口继承 EJBObject 这个类作为远程接口
写一个接口继承 EJBHome 这个类里有一个方法是 create()它返回接口类型
写一个 Bean 继承 SessionBean 这个类里包含一个 create()方法和一个业务方法
写一个 ejb-jar.xml 这个 xml 是把上面的三个文件组合起来
写一个 weblogic-ejb-jar.xml 这个 xml 是连接查找 source 的作用
只能运行在 WebSphere、WebLogic 等 EJB 容器,启动耗时很长,消耗资源很大
总之大多数时间花费在了配置上,而且测试也比较麻烦
Spring 时期
之后的项目,我开始接触 Spring,那时候项目的结构是 SSH。第一次接触到 Spring 时,我就喜欢上了它,与 EJB 相比它有以下优点:
减少了很多配置文件
减少了很多模板代码,比如数据库关闭操作等
启动 Spring 应用时,资源消耗比 EJB 小很多
不必要继承 Spring 中的类就可以进行开发
不需要自己管理依赖
。。。。。。
可能是第一份工作对我的影响真的很大,在 Spring 支持 Java 方式配置之后的很长时间里,我还是习惯于使用 xml 配置 Spring,比如 MVC 拦截器,事务等。
简要的描述一下,这个阶段我做新项目的步骤:
使用 Gradle 或 Maven 构建依赖
将之前项目的配置文件复制一份到项目中
开始开发测试
将其部署到 Tomcat 中进行测试
打包发布
SpringBoot 时期
第一次听说 SpringBoot 是 2016 年,那时候的版本还是 SpringBoot1.2,当我第一次用它写了一个 HelloWorld 时,我惊呆了,这太方便了。比如说用 SpringBoot 构建一个 Web 版的 HelloWorld:
选择构建工具,输入 group、artifact,选择起步依赖等,如图所示
点击生成项目,然后将下载的项目用 Eclipse 打开
构建以下代码,并运行 DemoApplication.java
打开网页,输入网址
http://localhost:8080
,则我们将会看的
让我们来看一下,SpringBoot 帮我们做了什么
对比项 SpringSpring Boot 项目结构手动创建包含 src 等文件夹使用 Spring Initializr 确定依赖手动确定相关,比如 Spring 的版本等使用 Spring Initializr,增加起步依赖配置文件创建 Web.xml 或 Spring 的 WebApplicationInitializer 实现使用 Spring Initializr,增加起步依赖 Web 运行需要将其发布到 Tomcat 中运行直接运行 main 方法或通过命令行运行,内置 Tomcat 部署需要将其发布到 Web 容器中运行,并选择激活的属性通过命令行直接在参数中增加属性设置
所以,Spring 帮我们解决了以下问题:
它使配置变得简单 使用了很多条件化配置特性,利用 Maven 或 Gradle 的依赖传递,实现了自动配置,完全不需要使用 xml 进行任务配置
它使编码变得简单 避免了很多样板代码,增加了大量的注解
它使部署变简单 多种部署方式,内置 web 容器,可以使用命令行启动
它通过使用 actuator,使得我们可以监控和度量应用
版权声明: 本文为 InfoQ 作者【引花眠】的原创文章。
原文链接:【http://xie.infoq.cn/article/348d9d39ea80f3ed59943f5e7】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论