`
jardot
  • 浏览: 28098 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

不写一行代码即可运行一个应用

阅读更多

软件工程的构件化道路发展到今天,已经具有成熟的技术。这就像今天的大厦建筑一样,使用预制的构件,就能建造万丈高楼。同样道理,使用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 &gt;LIST.TXT 这是计算机的DOS语言,“DIR”意为遍历,即让计算机扫描一遍该文件夹内所有文件; “*.*”意为任意格式的文件(如果想要特定格式的文件修改后缀即可,如*.pdf)...

    JAVA上百实例源码以及开源项目源代码

    Java二进制IO类与文件复制操作实例 16个目标文件 内容索引:Java源码,初学实例,二进制,文件复制 Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系...

    net学习笔记及其他代码应用

    声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其...

    VC++6.0核心编程源码.rar

    函数运行成功,那么最后一个错误代码就不被改写,并且不指明运行成功。有少 数Windows函数并不遵循这一规则,并且它会更改最后的错误代码,但是Platform SDK资料通常指明,当函数运行成功时,该函数会更改最后的...

    TouchVisualizer:Swift中的轻量级触摸可视化库。 一行代码即可直观显示您的触摸!

    特征仅需一行代码即可工作! 支持多个手指。 支持多个UIWindow 。 显示触摸半径(手指大小)。 显示触摸持续时间。 自定义指点图像和颜色。 在纵向和横向模式下都支持iPhone和iPad。看起来如何肖像:风景:机器人:...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    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...

    控制台三国杀VS2010代码

    本程序共1417行代码,使用C++语言于VS2010平台编写。我会继续完善它直到实现它所有的功能,现在临近期末考试 ,没有时间继续完善它了,结构说明书也没有写。我的QQ:744676345(羽枫),有问题可以加我询问。

    基于Android的聊天室应用 ChatRoom 1.4

    所以收10分不过分,如果你觉得很需要一个聊天类的应用参考实践一下,那这就是你所需要的,这只是一个一对多的聊天应用,当然你可以自己扩展成一对一的,其实就是再加一个页面就可以了,代码上稍作修改即可,发消息时...

    购物商城系统源代码--036

    我们始终致力于开发最优化的算法和数据结构,在从事 ASP 与 MSSQL 的开发的过程中,我们力求每行代码都充分发挥开发工具的效率优势。时代商城购物系统是一个挑战 ASP 应用极限的应用程序。时代商城购物系统开发团队...

    一个基于 React Native 的 Android 企业级应用

    RNPolymerPo 是一个基于 React Native 的生活类聚合实战项目,目前由于没有 MAC 设备,所以没有适配 iOS,感兴趣的可以自行适配 app 目录下相关 JS 代码即可。 - 不懂运行,下载完可以私聊问,可远程教学 该资源内...

    koa-to-serverless:只需要改行代码就能够让你的Koa框架应用在Serverless架构环境上运行

    无服务器到无服务器只需要改一行代码就能够让你的Koa框架应用在Serverless架构环境上运行。简介Serverless架构相对于自行部署的原生环境有巨大的优势(各云厂商对Serverless的介绍已经非常详细,这里就不重复述了)...

    JavaScript 代码压缩加密软件

    为何要压缩JS代码: ...本软件不同于网络上已有的同类软件,现有的都是网页版的,本软件是完全的绿色软件,下载后直接运行即可,界面很简单。包括压缩率选项,压缩文件设置,压缩文件管理,js压缩结果预览等。

    基于记录的应用程序设计

    问题由文本组成,其中包括多行文件以及一系列可能的答案,这两个结构都可由数组表示,问题的文本是字符串的数组,每一个字符串包含了一行的内容。而答案存储在一个结构较为复杂的数组中 通常情况下,需要提供一个...

    超级有影响力霸气的Java面试题大全文档

    当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 20、abstract class和interface有什么区别? ...

    QT编写的简易安防视频监控系统

    8:处理全部放在QFFmpge类中 包括注释也才到100行代码左右 9:使用示例简单方便 自带了一个珍藏多年的黑灰色主题样式表 锦上添花 10:窗体加载时动画渐显效果 11:同时支持两路RTSP视频流播放 代码稍作修改即可16路...

    基于记录应用程序设计

    问题由文本组成,其中包括多行文件以及一系列可能的答案,这两个结构都可由数组表示,问题的文本是字符串的数组,每一个字符串包含了一行的内容。而答案存储在一个结构较为复杂的数组中 通常情况下,需要提供一个...

    代码语法错误分析工具pclint8.0

    这个在你VC窗口tools菜单下应该多了一个pclint选项,可以用它来运行lint程序,对你的c/c++代码进行静态检查了。 现在就可以用个小程序测试一下pclint了 //test1.cpp #include class X { int *p; public: X() {...

    一个基于springboot,VUE开发的CMS+源代码+文档说明

    和 VUE即可在几天的时间内快速开发出一个简单的web应用。 ## 后端技术框架 springboot + spring JPA + mysql ## 前端技术框架 VUE + VUEX + axios + adminLTE3 ## 项目备注 1、该资源内项目代码都经过测试运行成功...

    Sa-Admin:一个无需脚手架即可直接运行的后台模板,流畅、易上手、提高生产力

    上手简单:提供完整彻底的封装,不用修改一行源代码即可轻松集成 示例全面:提供大量常见增删改查示例,提高你的生产力 演示地址: 演示地址2: 如果比较熟悉vue单页应用, 需求提交 我们深知一个优秀的项目需要海...

    Visual C++ 2010入门经典(第5版)--源代码及课后练习答案

     ·分享c++程序的错误查找技术,并介绍通用的调试原则讨论每一个windows应用程序的结构和基本元素  ·举例说明如何使用mfc开发本地windows应用程序  ·指导读者用c++和c++/cli设计和创建大量的windows应用程序 ...

Global site tag (gtag.js) - Google Analytics