软件工程的构件化道路发展到今天,已经具有成熟的技术。这就像今天的大厦建筑一样,使用预制的构件,就能建造万丈高楼。同样道理,使用Spring Boot开发框架,也可以支持这种构件化的功能,正像其官方网站所介绍的那样,你甚至可以不用写一行代码,就可运行一个应用:“Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.” (http://docs.spring.io/spring-boot/docs/current/reference/html/getting-started-introducing-spring-boot.html)。
下面使用IntelliJ IDEA工具,按照下列步骤,来见证一下Spring Boot在软件工程构件化中所表现的优越能力。
1.新建项目,选择Spring Initalizr,如下图:
2. 使用Maven管理项目,并使用Java 1.8编程语言,在我的电脑已经具有这些工具,所以默认出现如下图所示的界面。
3.同样使用默认选项,即Spring Boot使用当前最新版本1.4.2。我们以创建一个Web应用为例,所以勾选Web,如下图所示:
4. 将项目名称改为demo,如图:
5. 打开项目后,在右上角出现的提示中,单击“Add as Maven Project”,如下图所示:
这时候,可以看到底部提示正在加载依赖包,等待其加载完成。加载时间的长短,视乎你的网络情况。如下图所示:
加载完成后,可以在工程的根目录中看到自动生成的pom.xml文件,文件内容如下所示:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>demo</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
而在源程序目录src下面则生成了一个主程序:DemoApplication.java,工程正是使用这个主程序来启动应用的,代码如下所示:
package com.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
6. 增加一个Spring Boot运行配置,选择生成的主程序:DemoApplication,如下图:
7. 运行应用,如下图所示,可以看到启动了Tomcat服务,并打开了8080端口。
通过8080端口在浏览器中打开链接:http://localhost:8080/,如下图所示。当然,这个时候,除了一个错误提示之外,什么也看不到,这不奇怪,因为我们并没有做什么,除了在上面过程中输入过“demo”这四个英文字母之外,确实未曾写过一个字符的代码。但是,不管怎么说,这个应用是正常运行的,这就足够了。
哇,不错!如果你会为此发出一声称赞,那么恭喜你,说明你童心未泯,在这个世界中,你将具有很强的竞争力。如果你对此不屑一顾,那么同样恭喜你,这说明你已经是一介高人了呀。但是不管持什么心态,多一份了解,总是能让你所属的天空更加广阔而美丽。
如果想对Spring Boot有更多的了解,并快速而全面地掌握它的功能,可通过京东商城购买刚出版的新书——《深入实践Spring Boot》:http://item.jd.com/12064514.html。这本书对Spring Boot的功能做了一个全面、深入的介绍,让你一书在手,顿感使用Spring Boot游刃有余,更加难能可贵的是,书中丰富而切近生产实际的实例,可以立即拿来用在你的项目开发之中。
相关推荐
只需要简单的一行代码即可: DIR *.* /b >LIST.TXT 这是计算机的DOS语言,“DIR”意为遍历,即让计算机扫描一遍该文件夹内所有文件; “*.*”意为任意格式的文件(如果想要特定格式的文件修改后缀即可,如*.pdf)...
Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制 Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系...
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其...
函数运行成功,那么最后一个错误代码就不被改写,并且不指明运行成功。有少 数Windows函数并不遵循这一规则,并且它会更改最后的错误代码,但是Platform SDK资料通常指明,当函数运行成功时,该函数会更改最后的...
特征仅需一行代码即可工作! 支持多个手指。 支持多个UIWindow 。 显示触摸半径(手指大小)。 显示触摸持续时间。 自定义指点图像和颜色。 在纵向和横向模式下都支持iPhone和iPad。看起来如何肖像:风景:机器人:...
8.5.4 例2:从下一行中返回一个值 204 8.6 First_value和Last_value 205 8.6.1 例子:使用First_value来计算最大值 206 8.6.2 例子:使用Last_value来计算最小值 207 8.7 其他分析函数 207 8.7.1 Nth_value(11...
本程序共1417行代码,使用C++语言于VS2010平台编写。我会继续完善它直到实现它所有的功能,现在临近期末考试 ,没有时间继续完善它了,结构说明书也没有写。我的QQ:744676345(羽枫),有问题可以加我询问。
所以收10分不过分,如果你觉得很需要一个聊天类的应用参考实践一下,那这就是你所需要的,这只是一个一对多的聊天应用,当然你可以自己扩展成一对一的,其实就是再加一个页面就可以了,代码上稍作修改即可,发消息时...
我们始终致力于开发最优化的算法和数据结构,在从事 ASP 与 MSSQL 的开发的过程中,我们力求每行代码都充分发挥开发工具的效率优势。时代商城购物系统是一个挑战 ASP 应用极限的应用程序。时代商城购物系统开发团队...
RNPolymerPo 是一个基于 React Native 的生活类聚合实战项目,目前由于没有 MAC 设备,所以没有适配 iOS,感兴趣的可以自行适配 app 目录下相关 JS 代码即可。 - 不懂运行,下载完可以私聊问,可远程教学 该资源内...
无服务器到无服务器只需要改一行代码就能够让你的Koa框架应用在Serverless架构环境上运行。简介Serverless架构相对于自行部署的原生环境有巨大的优势(各云厂商对Serverless的介绍已经非常详细,这里就不重复述了)...
为何要压缩JS代码: ...本软件不同于网络上已有的同类软件,现有的都是网页版的,本软件是完全的绿色软件,下载后直接运行即可,界面很简单。包括压缩率选项,压缩文件设置,压缩文件管理,js压缩结果预览等。
问题由文本组成,其中包括多行文件以及一系列可能的答案,这两个结构都可由数组表示,问题的文本是字符串的数组,每一个字符串包含了一行的内容。而答案存储在一个结构较为复杂的数组中 通常情况下,需要提供一个...
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 20、abstract class和interface有什么区别? ...
8:处理全部放在QFFmpge类中 包括注释也才到100行代码左右 9:使用示例简单方便 自带了一个珍藏多年的黑灰色主题样式表 锦上添花 10:窗体加载时动画渐显效果 11:同时支持两路RTSP视频流播放 代码稍作修改即可16路...
问题由文本组成,其中包括多行文件以及一系列可能的答案,这两个结构都可由数组表示,问题的文本是字符串的数组,每一个字符串包含了一行的内容。而答案存储在一个结构较为复杂的数组中 通常情况下,需要提供一个...
这个在你VC窗口tools菜单下应该多了一个pclint选项,可以用它来运行lint程序,对你的c/c++代码进行静态检查了。 现在就可以用个小程序测试一下pclint了 //test1.cpp #include class X { int *p; public: X() {...
和 VUE即可在几天的时间内快速开发出一个简单的web应用。 ## 后端技术框架 springboot + spring JPA + mysql ## 前端技术框架 VUE + VUEX + axios + adminLTE3 ## 项目备注 1、该资源内项目代码都经过测试运行成功...
上手简单:提供完整彻底的封装,不用修改一行源代码即可轻松集成 示例全面:提供大量常见增删改查示例,提高你的生产力 演示地址: 演示地址2: 如果比较熟悉vue单页应用, 需求提交 我们深知一个优秀的项目需要海...
·分享c++程序的错误查找技术,并介绍通用的调试原则讨论每一个windows应用程序的结构和基本元素 ·举例说明如何使用mfc开发本地windows应用程序 ·指导读者用c++和c++/cli设计和创建大量的windows应用程序 ...