简介

为了简化开发Spring的复杂度,Spring提供了SpringBoot可以快速开发一个应用,这里就简单介绍下SpringBoot如何快速开发一个J2EE应用

HelloWorld

首先在gradle配置文件中引入SpringBoot

compile("org.springframework.boot:spring-boot-starter-web:1.4.0.RELEASE")

刷新项目后他会默认引入Spring的依赖以及内嵌tomcat,配置就这一步,下面就开始开发了

@SpringBootApplication
public class App {
public static void main(String[] args) throws Exception {
SpringApplication.run(new Object[]{App.class}, args);
}
}

以上就配置好了应用可以运行了,这里简单说下加的注解

@SpringBootApplication=@SpringBootConfiguration+@EnableAutoConfiguration+@ComponentScan

SpringBootConfiguration是以Configuration类的方式配置Spring相当于spring.xml可以使用@Bean注册一个实例

EnableAutoConfiguration是告诉SpringBoot自动配置Spring应用

ComponentScan是让spring扫描注解

下面就可以开发Controller了,这个和SpringMVC一样,其中RestController是Controller和ResponseBody的合体。

@RestController
public class MyController{
@RequestMapping("/")
String home() {
return "Hello World!";
}
}

运行App的main方法,就可以看到应用启动,可以访问localhost:8080了

热部署

IDE中的server都支持热部署,只要改了代码就会自动重新发布,这里使用SpringBoot由于是直接运行的main方法,所以没有这个功能。

不过Spring团队提供了dev-tool可以实现这个功能,使用也很方便,只要引入相应jar就行

compile 'org.springframework.boot:spring-boot-devtools:1.4.0.RELEASE'

这样只要有类改动,IDE会自动重编译(需要打开该功能),SpringBoot就会自动重新部署

总结

SpringBoot提供了一个很简单的开发流程,大大减少了繁琐的Spring配置,新项目可以尝试使用

注意

在运行springboot应用时遇到一个问题

** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.
2016-11-13 21:16:43.923 WARN 8292 --- [ main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [App]; nested exception is org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'errorPageFilter' for bean class [org.springframework.boot.web.support.ErrorPageFilter] conflicts with existing, non-compatible bean definition of same name and class [org.springframework.boot.context.web.ErrorPageFilter]

这个是由于app类建在default包中,一定不要将app类放在默认包中,不然会导致各种奇怪的异常

springboot之HelloWorld的更多相关文章

  1. SpringBoot学习helloworld

    这几天开始学习springBoot记录一下(Hello World) pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0 ...

  2. SpringBoot的HelloWorld 应用及解释

    参考链接: Spring Data JPA - Reference Documentation Spring Data JPA--参考文档 中文版 纯洁的微笑:http://www.ityouknow ...

  3. [一]SpringBoot 之 HelloWorld

    (1)新建一个Maven Java工程 (2)在pom.xml文件中添加Spring BootMaven依赖 2.1在pom.xml中引入spring-boot-start-parent spring ...

  4. SpringBoot入门学习(一): Idea 创建 SpringBoot 的 HelloWorld

    创建项目: 项目结构: 程序启动入口: 正式开始: package com.example.demo; import org.springframework.boot.SpringApplicatio ...

  5. redis整合springboot的helloworld

    引入依赖 compile 'org.springframework.boot:spring-boot-starter-data-redis' 使用redis有两种方法 1.Jedis Jedis je ...

  6. SpringBoot——探究HelloWorld【三】

    前言 前面我们写了helloworld的一个,这里我们对他进行分析 探究 那么下面就开始我们的探究之旅吧,首先从POM文件来,在POM文件中我们导入了项目所需要的依赖 POM文件 父项目 <pa ...

  7. spring-boot的helloWorld详解

    1.运行环境 开发工具:intellij idea JDK版本:1.8 项目管理工具:Maven 3.2.5 2.Maven Plugin管理 pom.xml配置代码: <project xml ...

  8. eclipse springboot运行helloworld错误: 找不到或无法加载主类 xxx.xxx.xxx

    这个错误,在网上搜找了好久,说是什么jar包冲突,什么环境配置,我经过验证均是正确的,javac java java -version 都没问题,环境变量也OK,各种解释均没有能够解决我的问题,最后好 ...

  9. SpringBoot的 HelloWorld

    SpringBoot HelloWorld 功能需求 ​ 浏览器发送hello请求,服务器接收请求并处理,相应HelloWorld字符串 1.创建一个maven工程:(jar) 2.导入SpringB ...

随机推荐

  1. AOP详解

    什么是AOP AOP Aspect Oriented Programing 面向切面编程 AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码(性能监视.事务管理.安全检查.缓存) Spring ...

  2. Linux学习笔记(16)-多线程

    什么是多线程?或者说,什么是线程? 按照书本上的描述,所谓线程,便是包含在进程内部的顺序执行流,是进程中实际运作的单位,也是操作系统能够进行调度的最小单位. 一个进程中可以并发多条线程,每条线程并行执 ...

  3. 《DSP using MATLAB》示例Example5.21

  4. jquery插件开发

    jQuery是一个封装的很好的类,比如我们用语句$("#btn1") 会生成一个 jQuery类的实例. 一.jQuery插件开发注意要点 1.使用闭包,避免全局依赖,避免第三方破 ...

  5. SQL Server 递归

    SQL Server 没有类似于Oracle START WITH NAME='xx' CONNECT BY PRIOR ID=PARENT_ID这样的语句,但是可以通过自定义标准函数+With语句实 ...

  6. c#接口与抽象类的区别

    abstract 修饰符用于表示所修饰的类是不完整的,并且它只能用作基类.抽象类与非抽象类在以下方面是不同的: 抽象类不能直接实例化,并且对抽象类使用 new 运算符是编译时错误.虽然一些变量和值在编 ...

  7. mac安装java8

    http://stackoverflow.com/questions/24342886/how-to-install-java-8-on-mac brew tap caskroom/cask brew ...

  8. IE6图片元素img下高度超出出现多余空白

    将图片转换为块级元素:display:block; 设置图片的垂直对齐方式:vertical-align属性为top,text-top,bottom,text-bottom 设置父元素的字体大小为0p ...

  9. Android 社交类APP 豆瓣同城Lite(安全,无广告)

    随着科技的发展,人们的生活越来越变的单调,有时间也不知道如何打发.使用豆瓣同城手机客户端能帮助你发现身边正在进行的各种有趣的活动,你可以凭自己的兴趣来报名喜欢的活动,结实新的朋友,让自己的业余生活变得 ...

  10. How to make your assembly more secure from referencing by unauthorized bits

    Now the security has a trend to become more and more important in our daily work, hence I did some r ...