文档章节

使用Spring Boot来加速Java web项目的开发

Alexdevlin
 Alexdevlin
发布于 2016/04/20 17:39
字数 829
阅读 280
收藏 10
点赞 1
评论 0
我想,现在企业级的Java web项目应该或多或少都会使用到Spring框架的。
回首我们以前使用Spring框架的时候,我们需要首先在(如果你使用Maven的话)pom文件中增加对相关的的依赖(使用gradle来构建的话基本也一样)然后新建Spring相关的xml文件,而且往往那些xml文件还不会少。然后继续使用tomcat或者jetty作为容器来运行这个工程。基本上每次创建一个新的项目都是这么一个流程,而我们有时候仅仅想快速的创建一个Spring web工程来测试一些东西,或者是希望能节省时间。
现在我们使用Spring Boot就可以快速的做到这些了。
我们先来看一个非常简单的使用Spring boot的例子吧:
我们创建一个Maven工程,假定工程名字为spring-boot,然后我们在pom.xml文件中加入依赖:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>1.0.2.RELEASE</version>
</dependency>
2.  新建一个Controller来接受处理我们的请求:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
 
/**
 * Created by wenchao.ren on 2014/4/26.
 */
@Controller
@EnableAutoConfiguration
public class SimpleController {
 
    @RequestMapping(value ="/hello", method = RequestMethod.GET)
    @ResponseBody
    public String hello(){
        return "hello world";
    }
 
    public static void main(String[] args) {
        SpringApplication.run(SimpleController.class, args);
    }
}
相信大家已经看到了这个Controller有一个main方法,不要急,我们直接运行这个main方法:
 :: Spring Boot ::        (v1.0.2.RELEASE)
 
2014-04-26 22:54:40.985  INFO 7236 --- [           main] c.r.spring.boot.SimpleController         : Starting SimpleController on rollen with PID 7236 (D:\workspace\GitHub\SpringDemo\spring-boot\target\classes started by wenchao.ren in D:\workspace\GitHub\SpringDemo\spring-boot)
2014-04-26 22:54:41.008  INFO 7236 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@50de0926: startup date [Sat Apr 26 22:54:41 CST 2014]; root of context hierarchy
2014-04-26 22:54:41.583  INFO 7236 --- [           main] .t.TomcatEmbeddedServletContainerFactory : Server initialized with port: 8080
2014-04-26 22:54:41.706  INFO 7236 --- [           main] o.apache.catalina.core.StandardService   : Starting service Tomcat
2014-04-26 22:54:41.706  INFO 7236 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/7.0.52
2014-04-26 22:54:41.785  INFO 7236 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2014-04-26 22:54:41.785  INFO 7236 --- [ost-startStop-1] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 779 ms
2014-04-26 22:54:42.055  INFO 7236 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean        : Mapping servlet: 'dispatcherServlet' to [/]
2014-04-26 22:54:42.057  INFO 7236 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean  : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2014-04-26 22:54:42.289  INFO 7236 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2014-04-26 22:54:42.368  INFO 7236 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/hello],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String com.rollenholt.spring.boot.SimpleController.hello()
2014-04-26 22:54:42.376  INFO 7236 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2014-04-26 22:54:42.377  INFO 7236 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2014-04-26 22:54:42.447  INFO 7236 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2014-04-26 22:54:42.459  INFO 7236 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080/http
2014-04-26 22:54:42.460  INFO 7236 --- [           main] c.r.spring.boot.SimpleController         : Started SimpleController in 1.675 seconds (JVM running for 1.944)
2014-04-26 22:54:54.963  INFO 7236 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring FrameworkServlet 'dispatcherServlet'
2014-04-26 22:54:54.963  INFO 7236 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2014-04-26 22:54:54.971  INFO 7236 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 8 ms
会产生上面的输出,查看日志可以发现默认使用的是tomcat,端口绑定在8080,现在让我们来访问:http://localhost:8080/hello
就可以看到我们代码中输出的字样:hello world了。
回首这个过程,是不是相比于以前快速了许多呢

参考资料:

1.  Spring Boot Reference Guide


本文转载自:http://www.cnblogs.com/rollenholt/p/3693055.html

共有 人打赏支持
Alexdevlin
粉丝 12
博文 50
码字总数 32092
作品 1
浦东
程序员
SpringBoot与Mybatis整合的多模块项目

springBoot项目构建 Spring多模块项目的构建 1.使用Idea构建一个Springboot项目 File-->new-->project-->springInitializr-->(NEXT) 2.主项目pom中添加依赖 ~ org.springframework.bootspri......

JavionXiong
06/22
0
0
SpringBoot 入门实例

SpringBoot 是由 pivotal 提供的 Java 开发框架,伴随着 spring 4.0 版本一起发布,旨在简化 Spring 项目的初始化及开发过程,框架本身为开发过程提供了大量的默认配置,当然我们也可以通过简...

Aotian
05/29
0
0
SpringBoot | 第一章:第一个SpringBoot应用

SpringBoot | 第一章:第一个SpringBoot应用 springboot简单介绍 概述 随着动态语言的流行(Ruby、Groovy、Scala、Node.js),Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的...

oKong
07/15
0
0
Spring Boot入门资料整理

Spring Boot 初识 SpringBoot前世今生 本文主要讲述spring boot的由来,即其它诞生的背景,初衷,现状,及对未来的展望。 Spring Boot参考指南中文版--Chapter1.Spring Boot中文文档 本节提供...

小致dad
2017/11/07
0
0
SpringBoot基础教程1.1.1 项目搭建

概述 为微服务而生,大大简化搭建工程的时间;个人理解,是一些框架的集合, 整合各个框架,降低使用门槛。 1.1. 特色 介绍项目的同时,推荐相关快捷键,熟能生巧,无需死记硬背。 2. 本节重...

Mkeeper
07/02
0
0
第一个SpringBoot示例

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这...

zq木偶人
07/19
0
0
SpringBoot基础教程1-1-2 配置文件介绍

概述 极大的简化了配置,常用配置都可以或者文件中设置。 1.1. 特色 介绍项目的同时,推荐相关快捷键,熟能生巧,无需死记硬背。 2. 本节重点 常用配置介绍 多环境如何配置 自定义配置文件 ...

Mkeeper
07/04
0
0
SpringBoot学习之基础篇

在前面的博文中,已经演示过springboot与Mybatis集成的实例,本篇再来探讨一下SpringBoot的基础。 一。关于SpringBoot   SpringBoot可以基于Spring轻松创建可以“运行”的、独立的、生产级...

java~nick
2017/10/31
0
0
Springboot如何启动图形界面程序以及如何多开

虽然很少有人用java写windows界面,但比如说我们有一个图形界面程序,是用java.awt写的,大概是这样的吧 import java.awt.Color;import java.awt.Toolkit;import java.awt.Font;@Componentp...

算法之名
05/26
0
0
用maven搭建springboot环境

SpringBoot不是一个新框架,它是让开发者更快的开发Spring应用的一条捷径。使用它和使用标准java类库一样,只要简单的指定合适的 spring-boot-*.jar 就可以了。这里我们说怎么用maven导入Spr...

davelet
2015/07/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

联动滑动之一:NestScrollChild和NestedScrollingParent

NestScrollChild和NestedScrollingParent 吐槽一下开源中国竟然标题字数有限制 由于项目中使用了CoordinateLayout来解决联动以及实现炫酷的UI效果,那么必须就要研究一波源码了,毕竟知其然知...

JerryLin123
21分钟前
0
0
cloudera spark2.2 读写hbase

cloudera spark2.2 读写hbase 例子 host = 'bigdata-03,bigdata-05,bigdata-04'conf = { "hbase.zookeeper.quorum": host, "hbase.mapreduce.inputtable": "student1"}k......

osenlin
25分钟前
0
0
数据库规范化

转载自 一个小时学会MySQL数据库 地址:http://www.cnblogs.com/best/p/6517755.html 截取其中 1.4 部分 用于自己学习使用 感谢作者:张果 1.4、数据库规范化 经过一系列的步骤,我们现在终于...

十万猛虎下画山
26分钟前
0
0
ios逆向之工具篇

Reveal:查看任意app的UI结构 注:1.不越狱的手机,可以用Reveal来查看自己app的UI结构,不能查看其它app的结构。 2.越狱手机上可以查看任意app的UI结构。 IDA:反编译工具 从App Store下载的...

HeroHY
27分钟前
0
0
EOS区块链平台智能合约示例HelloWorld

我们将介绍一个使用EOS智能合约构建hello World的例子。 一般环境设置通过上一篇文章已经说明,这方面的问题大家可以看本博客上一篇文章,本文引用了官方EOS在Git上的示例。 运行nodeos 要通...

笔阁
29分钟前
0
0
Scrapy爬虫框架简单解析 

scrapy框架解析 Scrapy框架大致包括以下几个组件:Scrapy Engine、Spiders、Scheduler、Item Pipeline、Downloader; 组件 Scrapy Engine 这是框架的核心,负责控制数据流在整个系统的各个组...

zhujun2017
29分钟前
0
0
Vue之ref详解与实例

尽管存在 prop 和事件,有的时候你仍可能需要在 JavaScript 里直接访问一个子组件。为了达到这个目的,你可以通过 ref 特性为这个子组件赋予一个 ID 引用。ref可以加在父级组件上也可以加在子...

tianyawhl
38分钟前
0
0
Aerospike入坑导读

Aerospike是一个以分布式为核心,T级别大数据高并发的结构化数据存储解决方案,读写操作达微妙级,索引内存化数据固态化,自动感知集群状态,节点间数据强一致性,平滑扩展以及丰富的开发语言...

厉力文武
47分钟前
7
0
基于微信的libco实现php的协程扩展

php扩展cop (兼容php7) git clone https://github.com/qieangel2013/cop 基于libco简单实现的协程/usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-c......

mickelfeng
50分钟前
0
0
Django 01

一 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演。 ...

Kefy
51分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部