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

简介:

我想,现在企业级的Java web项目应该或多或少都会使用到Spring框架的。

 

回首我们以前使用Spring框架的时候,我们需要首先在(如果你使用Maven的话)pom文件中增加对相关的的依赖(使用gradle来构建的话基本也一样)然后新建Spring相关的xml文件,而且往往那些xml文件还不会少。然后继续使用tomcat或者jetty作为容器来运行这个工程。基本上每次创建一个新的项目都是这么一个流程,而我们有时候仅仅想快速的创建一个Spring web工程来测试一些东西,或者是希望能节省时间。

 

现在我们使用Spring Boot就可以快速的做到这些了。

 

我们先来看一个非常简单的使用Spring boot的例子吧:

 

1.  我们创建一个Maven工程,假定工程名字为spring-boot,然后我们在pom.xml文件中加入依赖:

1
2
3
4
5
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
     <version> 1.0 . 2 .RELEASE</version>
</dependency>

2.  新建一个Controller来接受处理我们的请求:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
   .   ____          _            __ _ _
  /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ |  '_ | ' _| | '_ \/ _` | \ \ \ \
  \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
   '  |____| .__|_| |_|_| |_\__, | / / / /
  =========|_|==============|___/=/_/_/_/
  :: 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

目录
相关文章
|
19天前
|
监控 JavaScript 前端开发
《理解 WebSocket:Java Web 开发的实时通信技术》
【4月更文挑战第4天】WebSocket是Java Web实时通信的关键技术,提供双向持久连接,实现低延迟、高效率的实时交互。适用于聊天应用、在线游戏、数据监控和即时通知。开发涉及服务器端实现、客户端连接及数据协议定义,注意安全、错误处理、性能和兼容性。随着实时应用需求增加,WebSocket在Java Web开发中的地位将更加重要。
|
1月前
JavaWeb 开发之 ServletContext 的和使用
JavaWeb 开发之 ServletContext 的和使用
22 1
|
4天前
|
IDE Java 数据库连接
使用 Java 进行桌面应用开发
【4月更文挑战第19天】Java 是一款广泛应用于企业级、网络和桌面应用开发的编程语言。其跨平台特性使Java程序能在不同操作系统上运行,而JDK提供了开发所需工具和库。使用Swing等GUI库构建用户界面,结合JDBC进行数据库操作,Socket实现网络通信。虽然面临性能和用户体验的挑战,但通过优化和选用合适的IDE,Java仍能开发出高效稳定的桌面应用。
|
5天前
|
前端开发 Java Go
开发语言详解(python、java、Go(Golong)。。。。)
开发语言详解(python、java、Go(Golong)。。。。)
|
5天前
|
人工智能 前端开发 Java
Java语言开发的AI智慧导诊系统源码springboot+redis 3D互联网智导诊系统源码
智慧导诊解决盲目就诊问题,减轻分诊工作压力。降低挂错号比例,优化就诊流程,有效提高线上线下医疗机构接诊效率。可通过人体画像选择症状部位,了解对应病症信息和推荐就医科室。
41 10
|
5天前
|
Java 关系型数据库 MySQL
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统,最高定位精度可达10cm,具有高精度,高动态,高容量,低功耗的应用。
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
|
13天前
|
运维 NoSQL 算法
Java开发-深入理解Redis Cluster的工作原理
综上所述,Redis Cluster通过数据分片、节点发现、主从复制、数据迁移、故障检测和客户端路由等机制,实现了一个分布式的、高可用的Redis解决方案。它允许数据分布在多个节点上,提供了自动故障转移和读写分离的功能,适用于需要大规模、高性能、高可用性的应用场景。
16 0
|
14天前
|
人工智能 小程序 Java
JAVA开发智慧学校系统源码+人脸电子班牌布局
智慧校园是通过利用物联网,大数据技术来改变师生和校园资源相互交互的方式,以便提高交互的明确性、灵活性和响应速度,从而实现智慧化服务和管理的校园模式。
|
17天前
|
安全 前端开发 Java
Java Web开发知识点学习总结
Java Web开发涉及Java基础、Servlet、JSP、数据库操作(SQL+JDBC)、MVC设计模式、Spring框架、Hibernate ORM、Web服务(SOAP&RESTful)、安全认证(HTTP Basic/Digest/OAuth)及性能优化(缓存、异步、负载均衡)。
17 3
|
20天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。