spring-boot开发:使用内嵌容器进行快速开发及测试
来源:互联网 发布:淘宝卖家不发货原因 编辑:程序博客网 时间:2024/06/06 01:36
一、简述一下spring-boot微框架
1、spring-boot微框架是什么?
大家都知道,在使用spring框架进行应用开发时需要很多*.xml的初始化配置文件,而springBoot就是用来简化新的Spring应用的初始搭建以及开发过程的微框架。该框架使用了自动设置的方式来进行配置,使开发人员不再需要定义样板化的配置,该框架可以方便前端开发任玥或者测试人员进行快速开发或者测试单元
2、spring官方介绍
官方springboot教程:http://projects.spring.io/spring-boot/
二、spring-boot快速开发
1、依赖包引用
在这里个人使用spring-boot1.3.5,采用maven环境搭建
我的maven依赖:
<!-- Inherit defaults from Spring Boot --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.5.RELEASE</version> </parent> <!-- Add typical dependencies for a web application --> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> </dependencies> <repositories> <repository> <id>spring-snapshots</id> <url>http://repo.spring.io/libs-snapshot</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>spring-snapshots</id> <url>http://repo.spring.io/libs-snapshot</url> </pluginRepository> </pluginRepositories> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
2、快速开发
简单开发发布一个helloworld!应用
import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.context.annotation.Configuration;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;@Configuration@EnableAutoConfiguration@Controllerpublic class TestController {@RequestMapping("/hello")@ResponseBodypublic String hello(){return "helloworld!";}public static void main(String[] args) {SpringApplication.run(TestController.class,args);}}
3、发布应用
如上代码,使用main()方法默认采用内置tomcat发布该应用,当然也可以使用其他内置容器或者外置容器
发布之后效果(看到这里,一个基于springBoot微框架的应用就开发完了,可以在浏览器打开http://localhost:8080/hello打开发布的应用):
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.0.0.RC1)2016-05-31 09:37:16.157 INFO 4268 --- [ main] cn.eguid.TestController : Starting TestController on wang-pc with PID 4268 (D:\eguid\Workspaces\MyEclipse2015\springBootTest\target\classes started by wangliang)2016-05-31 09:37:16.329 INFO 4268 --- [ main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@3d04562f: startup date [Tue May 31 09:37:16 CST 2016]; root of context hierarchy2016-05-31 09:37:17.673 INFO 4268 --- [ main] o.s.b.f.s.DefaultListableBeanFactory : Overriding bean definition for bean 'beanNameViewResolver': replacing [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.boot.actuate.autoconfigure.ErrorMvcAutoConfiguration$WhitelabelErrorViewConfiguration; factoryMethodName=beanNameViewResolver; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/actuate/autoconfigure/ErrorMvcAutoConfiguration$WhitelabelErrorViewConfiguration.class]] with [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter; factoryMethodName=beanNameViewResolver; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter.class]]2016-05-31 09:37:19.533 INFO 4268 --- [ main] .t.TomcatEmbeddedServletContainerFactory : Server initialized with port: 80802016-05-31 09:37:19.921 INFO 4268 --- [ main] o.apache.catalina.core.StandardService : Starting service Tomcat2016-05-31 09:37:19.921 INFO 4268 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/7.0.472016-05-31 09:37:20.155 INFO 4268 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext2016-05-31 09:37:20.155 INFO 4268 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 3826 ms2016-05-31 09:37:21.718 INFO 4268 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]2016-05-31 09:37:21.824 INFO 4268 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/hello],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String cn.eguid.TestController.hello()2016-05-31 09:37:21.824 INFO 4268 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.util.Map<java.lang.String, java.lang.Object> org.springframework.boot.actuate.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)2016-05-31 09:37:21.839 INFO 4268 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],methods=[],params=[],headers=[],consumes=[],produces=[text/html],custom=[]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.actuate.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest)2016-05-31 09:37:21.855 INFO 4268 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]2016-05-31 09:37:21.855 INFO 4268 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]2016-05-31 09:37:22.277 INFO 4268 --- [ main] o.s.b.a.e.jmx.EndpointMBeanExporter : Registering beans for JMX exposure on startup2016-05-31 09:37:22.371 INFO 4268 --- [ main] o.s.b.a.e.mvc.EndpointHandlerMapping : Mapped "{[/shutdown],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.ShutdownMvcEndpoint.invoke()2016-05-31 09:37:22.371 INFO 4268 --- [ main] o.s.b.a.e.mvc.EndpointHandlerMapping : Mapped "{[/configprops],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()2016-05-31 09:37:22.371 INFO 4268 --- [ main] o.s.b.a.e.mvc.EndpointHandlerMapping : Mapped "{[/info],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()2016-05-31 09:37:22.371 INFO 4268 --- [ main] o.s.b.a.e.mvc.EndpointHandlerMapping : Mapped "{[/trace],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()2016-05-31 09:37:22.371 INFO 4268 --- [ main] o.s.b.a.e.mvc.EndpointHandlerMapping : Mapped "{[/beans],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()2016-05-31 09:37:22.371 INFO 4268 --- [ main] o.s.b.a.e.mvc.EndpointHandlerMapping : Mapped "{[/env/{name:.*}],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EnvironmentMvcEndpoint.value(java.lang.String)2016-05-31 09:37:22.371 INFO 4268 --- [ main] o.s.b.a.e.mvc.EndpointHandlerMapping : Mapped "{[/env],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()2016-05-31 09:37:22.371 INFO 4268 --- [ main] o.s.b.a.e.mvc.EndpointHandlerMapping : Mapped "{[/dump],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()2016-05-31 09:37:22.371 INFO 4268 --- [ main] o.s.b.a.e.mvc.EndpointHandlerMapping : Mapped "{[/metrics/{name:.*}],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.MetricsMvcEndpoint.value(java.lang.String)2016-05-31 09:37:22.371 INFO 4268 --- [ main] o.s.b.a.e.mvc.EndpointHandlerMapping : Mapped "{[/metrics],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()2016-05-31 09:37:22.371 INFO 4268 --- [ main] o.s.b.a.e.mvc.EndpointHandlerMapping : Mapped "{[/autoconfig],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()2016-05-31 09:37:22.371 INFO 4268 --- [ main] o.s.b.a.e.mvc.EndpointHandlerMapping : Mapped "{[/health],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()2016-05-31 09:37:22.371 INFO 4268 --- [ main] o.s.c.support.DefaultLifecycleProcessor : Starting beans in phase 02016-05-31 09:37:22.371 INFO 4268 --- [ main] o.s.b.a.e.jmx.EndpointMBeanExporter : Located managed bean 'environmentEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=environmentEndpoint]2016-05-31 09:37:22.418 INFO 4268 --- [ main] o.s.b.a.e.jmx.EndpointMBeanExporter : Located managed bean 'healthEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=healthEndpoint]2016-05-31 09:37:22.418 INFO 4268 --- [ main] o.s.b.a.e.jmx.EndpointMBeanExporter : Located managed bean 'beansEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=beansEndpoint]2016-05-31 09:37:22.433 INFO 4268 --- [ main] o.s.b.a.e.jmx.EndpointMBeanExporter : Located managed bean 'infoEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=infoEndpoint]2016-05-31 09:37:22.433 INFO 4268 --- [ main] o.s.b.a.e.jmx.EndpointMBeanExporter : Located managed bean 'metricsEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=metricsEndpoint]2016-05-31 09:37:22.449 INFO 4268 --- [ main] o.s.b.a.e.jmx.EndpointMBeanExporter : Located managed bean 'traceEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=traceEndpoint]2016-05-31 09:37:22.449 INFO 4268 --- [ main] o.s.b.a.e.jmx.EndpointMBeanExporter : Located managed bean 'dumpEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=dumpEndpoint]2016-05-31 09:37:22.464 INFO 4268 --- [ main] o.s.b.a.e.jmx.EndpointMBeanExporter : Located managed bean 'autoConfigurationAuditEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=autoConfigurationAuditEndpoint]2016-05-31 09:37:22.464 INFO 4268 --- [ main] o.s.b.a.e.jmx.EndpointMBeanExporter : Located managed bean 'shutdownEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=shutdownEndpoint]2016-05-31 09:37:22.480 INFO 4268 --- [ main] o.s.b.a.e.jmx.EndpointMBeanExporter : Located managed bean 'configurationPropertiesReportEndpoint': registering with JMX server as MBean [org.springframework.boot:type=Endpoint,name=configurationPropertiesReportEndpoint]2016-05-31 09:37:22.558 INFO 4268 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port: 80802016-05-31 09:37:22.558 INFO 4268 --- [ main] cn.eguid.TestController : Started TestController in 7.833 seconds (JVM running for 9.301)
1 1
- spring-boot开发:使用内嵌容器进行快速开发及测试
- Spring boot快速开发
- 使用Spring Boot进行Java EE开发
- Spring Boot --微信企业号开发01-使用新花生壳进行本地开发测试
- 使用Spring进行测试驱动开发
- 使用 JUnit 进行容器内测试
- Spring Boot快速构建我们的开发
- WEB开发----Spring Boot项目快速搭建
- Spring Boot应用服务部署——使用内嵌的tomcat容器
- spring boot实战(第七篇)内嵌容器tomcat配置
- 选择Spring Boot项目的内嵌容器
- 选择Spring Boot项目的内嵌容器
- spring boot实战(第七篇)内嵌容器tomcat配置
- 使用Spring.Net进行WebService开发(三)Spring.Net容器相关知识
- RESTful API开发神器swagger与spring-boot的快速整合使用
- SpringBoot33-springboot开发部署与测试-spring boot测试
- 【项目搭建】使用spring-boot进行REST风格的微服务开发入门
- 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- java quartz 停止正在进行的任务解决方案
- mysql查看版本
- 你好,五月
- OSCache页面缓存
- 如何使用jquery刷新当前页面
- spring-boot开发:使用内嵌容器进行快速开发及测试
- TCP如何实现可靠性
- 用实例讲解Spark Sreaming
- java.lang.IllegalArgumentException: Document base D:\apache-tomcat-6.0.20\webapps\XXX错误
- 使用ListView和RadioGroup做单选题,并且将所选选项保存起来
- delphi根据网络链接截取域名
- 服务器监控之zabbix监控Nginx篇
- Maven聚合与继承
- OpenGL研究, GUI框架分析, 虚拟机比较, Win10历险记, WxWidget, uboot, WireShark