SpringBoot 快速入门

简介

在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot来让你更易上手,更简单快捷地构建Spring应用!

Spring Boot让我们的Spring应用变的更轻量化。比如:你可以仅仅依靠一个Java类来运行一个Spring引用。你也可以打包你的应用为jar并通过使用java -jar来运行你的Spring Web应用。

Spring Boot的主要优点:

  • 为所有Spring开发者更快的入门
  • 开箱即用,提供各种默认配置来简化项目配置
  • 内嵌式容器简化Web项目
  • 没有冗余代码生成和XML配置的要求

 

快速入门

本章主要目标完成Spring Boot基础项目的构建,并且实现一个简单的Http请求处理,通过这个例子对Spring Boot有一个初步的了解,并体验其结构简单、开发快速的特性。

系统要求:

  • Java 7及以上
  • Spring Framework 4.1.5及以上

本文采用Java 1.8.0_73Spring Boot 1.3.2调试通过。

使用Maven构建项目

通过SPRING INITIALIZR工具产生基础项目

  1. 访问:http://start.spring.io/
  2. 选择构建工具Maven Project、Spring Boot版本1.3.2以及一些工程基本信息,可参考下图所示
  3. 点击Generate Project下载项目压缩包

解压项目包,并用IDE以Maven项目导入,以IntelliJ IDEA 14为例:

  1. 菜单中选择File–>New–>Project from Existing Sources...
  2. 选择解压后的项目文件夹,点击OK
  3. 点击Import project from external model并选择Maven,点击Next到底为止。
  4. 若你的环境有多个版本的JDK,注意到选择Java SDK的时候请选择Java 7以上的版本

 

项目结构解析

通过上面步骤完成了基础项目的创建,如上图所示,Spring Boot的基础结构共三个文件(具体路径根据用户生成项目时填写的Group所有差异):

  • src/main/java下的程序入口:Chapter1Application
  • src/main/resources下的配置文件:application.properties
  • src/test/下的测试入口:Chapter1ApplicationTests

生成的Chapter1ApplicationChapter1ApplicationTests类都可以直接运行来启动当前创建的项目,由于目前该项目未配合任何数据访问或Web模块,程序会在加载完Spring之后结束运行。

 

引入Web模块

当前的pom.xml内容如下,仅引入了两个模块:

  • spring-boot-starter:核心模块,包括自动配置支持、日志和YAML
  • spring-boot-starter-test:测试模块,包括JUnit、Hamcrest、Mockito
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-test</artifactId>
		<scope>test</scope>
	</dependency>
</dependencies>

引入Web模块,需添加spring-boot-starter-web模块:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>

 

编写HelloWorld服务

  • 创建package命名为com.didispace.web(根据实际情况修改)
  • 创建HelloController类,内容如下
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String index() {
        return "Hello World";
    }
}
  • 启动主程序,打开浏览器访问http://localhost:8080/hello,可以看到页面输出Hello World

编写单元测试用例 

打开的src/test/下的测试入口Chapter1ApplicationTests类。下面编写一个简单的单元测试来模拟http请求,具体如下:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MockServletContext.class)
@WebAppConfiguration
public class Chapter1ApplicationTests {
	private MockMvc mvc;
	@Before
	public void setUp() throws Exception {
		mvc = MockMvcBuilders.standaloneSetup(new HelloController()).build();
	}
	@Test
	public void getHello() throws Exception {
		mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
				.andExpect(status().isOk())
				.andExpect(content().string(equalTo("Hello World")));
	}
}

使用MockServletContext来构建一个空的WebApplicationContext,这样我们创建的HelloController就可以在@Before函数中创建并传递到MockMvcBuilders.standaloneSetup()函数中。

  • 注意引入下面内容,让statuscontentequalTo函数可用
import static org.hamcrest.Matchers.equalTo;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

至此已完成目标,通过Maven构建了一个空白Spring Boot项目,再通过引入web模块实现了一个简单的请求处理。

相关文章
相关标签/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。
公众号推荐
   一个历史类的公众号,欢迎关注
一两拨千金
香港蓝月亮精选免费资料大全,香港蓝月亮精选免费资料大全期期准app预约 河北区| 晋中市| 长治县| 淮南市| 宾阳县| 平陆县| 平舆县| 通山县| 政和县| 漾濞| 潞西市| 响水县| 芦山县| 青冈县| 马公市| 绍兴市| 阿坝| 自治县| 汝阳县| 西和县| 化隆| 罗田县| 张北县| 榕江县| 鹿邑县| 延川县| 嵊州市| 乌拉特后旗| 蒙山县| 法库县| 牡丹江市| 宁陕县| 麻栗坡县| 长宁县| 清涧县| 射洪县| 江源县| 聊城市| 广汉市| 鞍山市| 西畴县| 荣成市| 高密市| 丹棱县| 察隅县| 景洪市| 天全县| 乐平市| 谢通门县| 无棣县| 奎屯市| 花莲市| 景泰县| 静宁县| 德格县| 绥芬河市| 修水县| 祁东县| 周口市| 孝感市| 包头市| 库尔勒市| 诸城市| 砀山县| 栖霞市| 保定市| 濮阳县| 麻城市| 桐梓县| 清河县| 政和县| 习水县| 黑山县| 什邡市| 安新县| 孙吴县| 罗田县| 稷山县| 阿拉善右旗| 余庆县| 德兴市| 建平县| 石阡县| 九台市| 庄浪县| 郸城县| 和平区| 溧阳市| 景泰县| 庆云县| 楚雄市| 鄄城县| 金门县| 五指山市| 乳山市| 逊克县| 徐闻县| 岳阳市| 青川县| 奈曼旗| 顺义区| 崇州市| 游戏| 丰县| 镶黄旗| 正镶白旗| 宁国市| 临清市| 章丘市| 壶关县| 建始县| 托克逊县| 临沂市| 永善县| 德令哈市| 绍兴县| 扬州市| 黑河市| 隆化县| 周宁县| 石河子市| 兴宁市| 日照市| 旺苍县| 卢湾区| 三都| 桂东县| 香河县| 习水县| 焉耆| 万盛区| 黄骅市| 柏乡县| 宿迁市| 广丰县| 峨边| 天长市| 宝坻区| 太仓市| 兰州市| 巢湖市| 杭州市| 拉孜县| 昭苏县| 双鸭山市| 科尔| 南充市| 镇雄县| 苍山县| 吉木萨尔县| 莒南县| 永兴县| 米脂县| 任丘市| 丰顺县| 察雅县| 鹤庆县| 长垣县| 清丰县| 阿克陶县| 杂多县| 恩平市| 祥云县| 望谟县| 德兴市| 富平县| 平舆县| 玉山县| 扎赉特旗| 石渠县| 彰武县| 汪清县| 汉沽区| 丽水市| 北川| 东乌珠穆沁旗| 宁城县| 鄂州市| 南华县| 晋宁县| 新邵县| 扎赉特旗| 根河市| 寻乌县| 克什克腾旗| 瑞安市| 南京市| 双江| 石家庄市| 彩票| 班玛县| 永胜县| 文昌市| 开平市| 兰坪| 将乐县| 尉氏县| 定边县| 弥勒县| 梁平县| 湖北省| 肇源县| 古浪县| 无锡市| 沾化县| 育儿| 定远县| 策勒县| 韩城市| 宜阳县| 长垣县| 织金县| 浦江县| 平顶山市| 阿拉善右旗| 威海市| 榆林市| 军事| 宜川县| 长葛市| 潮安县| 三亚市| 济宁市| 彭泽县| 佛坪县| 东城区| 阜宁县| 剑川县| 海林市| 会泽县| 饶河县| 丹江口市| 新兴县| 临高县| 开平市| 宜章县| 东明县| 星座| 蒙阴县| 农安县| 商洛市| 来安县| 波密县| 思南县| 准格尔旗| 阿合奇县| 漳浦县| 麻栗坡县| 乐业县| 青龙| 桂阳县| 新宁县| 西贡区| 海城市| 吉首市| 长宁县| 屏东县| 沈丘县| 奉节县| 马龙县| 资兴市| 义马市| 福清市| 郸城县| 恩施市| 襄汾县| 张家川| 遵义县| 泽州县| 宁阳县| 商城县| 霞浦县| 衡水市| 莒南县| 福建省| 金乡县| 达孜县| 昌黎县| 九寨沟县| 双城市| 吉首市| 铜梁县| 凤城市| 延吉市| 兰西县| 于都县| 北流市| SHOW| 花莲县| 大姚县| 叙永县| 海口市| 宿迁市| 荣成市| 汽车| 乌兰县| 宜阳县| 眉山市| 无极县| 山西省| 呼伦贝尔市| 涿州市| 金秀| 扶余县| 泗水县| 清苑县| 岢岚县| 商城县| 南江县| 赞皇县| 伊金霍洛旗| 宁城县| 汕头市| 炎陵县| 浠水县| 天台县| 南木林县| 阳信县| 邹平县| 棋牌| 绥芬河市| 金塔县| 焉耆| 监利县| 祥云县| 资中县| 丘北县| 明光市| 门源| 阿巴嘎旗| 阿拉善左旗| 区。| 丘北县| 枣阳市| 辽阳市| 蓝山县| 泰宁县| 吉首市| 东山县| 民权县| 康保县| 吐鲁番市| 左权县| 陆河县| 龙岩市| 元江| 枣强县| 隆子县| 绍兴县| 邵阳县| 金阳县| 中山市| 曲靖市| 山阳县| 德格县| 石河子市| 安龙县| 甘谷县| 伊宁县| 定安县| 巴林右旗| 鄂托克旗| 德兴市| 延安市| 子洲县| 塔城市| 富平县| 惠东县| 温泉县| 曲阳县| 佛学| 亳州市| 都江堰市| 枞阳县| 滁州市| 抚远县| 崇州市| 商都县| 巫山县| 霍邱县| 虹口区| 资源县| 龙门县| 晋中市| 新泰市| 商洛市| 葫芦岛市| 大兴区| 屏东县| 句容市| 新河县| 陈巴尔虎旗| 金堂县| 团风县| 会昌县| 云霄县| 公安县| 图片| 江城| 桦甸市| 台山市| 永宁县| 烟台市| 奎屯市| 平遥县| 西和县| 二手房| 鄂尔多斯市| 大姚县| 昆山市| 和田市| 巴青县| 上杭县| 陕西省| 曲麻莱县| 象州县| 海城市| 郸城县| 七台河市| 泉州市| 武邑县| 乐都县| 汝城县| 六安市| 顺义区| 甘谷县| 金乡县| 突泉县| 土默特右旗| 永年县| 花莲市| 本溪市| 七台河市| 原平市| 雷波县| 瑞安市| 永顺县| 丰都县| 诏安县| 佛冈县| 峨眉山市| 顺昌县| 敦化市| 黑水县| 芷江| 司法| 邵武市| 兴和县| 河池市| 伊春市| 凯里市| 黔南| 汝城县| 盐津县| 玛沁县| 西藏| 恩平市| 资溪县| 遂昌县| 滕州市| 金乡县| 南通市| 浙江省| 和田县| 望江县| 德令哈市| 茌平县| 黄冈市| 安宁市| 察隅县| 北川| 宁安市| 滁州市| 文登市| 鄂伦春自治旗| 邯郸县| 阿拉善左旗| 乌海市| 淅川县| 塔城市| 平陆县| 奉化市| 绥芬河市| 高要市| 南川市| 武汉市| 双柏县| 南宫市| 怀安县| 南投市| 襄城县| 理塘县| 望奎县| 海林市| 乐陵市| 桃江县| 沙湾县| 施秉县| 荣昌县| 内乡县| 霍城县| 钦州市| 开平市| 河津市| 崇左市| 出国| 沈丘县| 任丘市| 湘西| 舞阳县| 龙口市| 大余县| 井陉县| 民乐县| 霞浦县| 大兴区| 铅山县| 武清区| 桐柏县| 名山县| 元朗区| 怀远县| 安溪县| 靖西县| 仁布县| 银川市| 渑池县| 巴彦淖尔市| 永靖县| 神农架林区| 获嘉县| 吴川市| 吴堡县| 疏附县| 景洪市| 浪卡子县| 无极县| 介休市| 吉林市| 囊谦县| 纳雍县| 山东省| 墨玉县| 鱼台县| 山丹县| 太和县| 泰州市| 南溪县| 犍为县| 天峻县| 修文县| 彰化市| 万州区| 偃师市| 弥勒县| 都兰县| 沂源县| 肥东县| 望城县| 太原市| 尚志市| 横峰县| 桦川县| 晋江市| 东海县| 达拉特旗| 江孜县| 丘北县| 武穴市| 余江县| 志丹县| 柞水县| 绥滨县| 藁城市| 温州市| 华容县| 铜梁县| 墨竹工卡县| 水城县| 固镇县| 乌鲁木齐市| 肃宁县| 万盛区| 大方县| 拜城县| 霍邱县| 刚察县| 青田县| 钟祥市| 关岭| 陆良县| 荃湾区| 林西县| 白沙| 保康县| 林甸县| 垣曲县| 习水县| 孟州市| 隆昌县| 穆棱市| 泾源县| 宜兰市| 济源市| 资阳市| 东丰县| 洪洞县| 四子王旗| 临湘市| 望城县| 忻州市| 金川县| 芦溪县| 红河县| 三门峡市| 兴城市| 米林县| 元朗区| 石景山区| 台东县| 陆良县| 宜宾县| 东海县| 四平市| 龙陵县| 新建县| 神池县| 招远市| 合山市| 依安县| 大方县| 松潘县| 门源| 北票市| 敦化市| 远安县| 阳新县| 东宁县| 道真| 平湖市| 平昌县| 太康县| 昆明市| 安庆市| 曲松县| 尼木县| 丰原市| 凌源市| 江源县| 永春县| 阿拉善左旗| 盐边县| 和平县| 金坛市| 岚皋县| 灵山县| 新余市| 巴林左旗| 油尖旺区| 通河县| 鄂托克前旗| 沙坪坝区| 呼和浩特市| 铜山县| 平湖市| 阿拉善右旗| 广德县| 稷山县| 天气| 安福县| 铁岭县| 鄄城县| 黄大仙区| 科技| 吴忠市| 台东县| 长岭县| 黄山市| 会昌县| 海盐县| 台湾省| 称多县| 柘城县| 将乐县| 奉节县| 崇义县| 油尖旺区| 喀喇| 屯门区| 四子王旗| 定兴县| 金寨县| 栾城县| 乌恰县| 九寨沟县| 余干县| 若羌县| 隆回县| 长宁区| 湘潭县| 兴安盟| 淮安市| 眉山市| 荥经县| 特克斯县| 博罗县| 隆安县| 武平县| 张家港市| 娱乐| 德阳市| 新安县| 德惠市| 梁河县| 凤台县| 六枝特区| 克山县| 莲花县| 镇巴县| 通辽市| 安丘市| 长沙县| 资源县| 樟树市| 大丰市| 双桥区| 通许县| 施秉县| 清流县| 清流县| 湟中县| 海兴县| 苍南县| 永川市| 合水县| 晋城| 丹巴县| 丰原市| 麻栗坡县| 洛隆县| 黔江区| 梧州市| 卢氏县| 乌鲁木齐县| 高陵县| 滕州市| 临湘市| 砚山县| 斗六市| 锦州市| 济宁市| 永定县| 长岛县| 宜昌市| 望江县| 竹山县| 松桃| 大足县| 新沂市| 凤冈县| 乐亭县| 丽水市| 监利县| 山阴县| 邢台市| 宁阳县| 稷山县| 清水河县| 平利县| 安岳县| 合肥市| 桐城市| 玛沁县| 青海省| 漠河县| 丰原市| 大田县| 汉中市| 兴仁县| 依兰县| 鸡东县| 炎陵县| 汶川县| 石嘴山市| 澄迈县| 重庆市| 红桥区| 江永县| 怀远县| 集贤县| 昌吉市| 云梦县| 砚山县| 彩票| 恭城| 平谷区| 灯塔市| 兰西县| 南投县| 缙云县| 阜康市| 化德县| 凤城市| 西安市| 白城市| 岳西县| 汝州市| 镇巴县| 凤庆县| 佛学| 镇雄县| 新宾| 临潭县| 体育| 泽库县| 类乌齐县| 梓潼县| 新疆| 林甸县| 林芝县| 绩溪县| 天津市| 洪湖市| 兴仁县| 翼城县| 汪清县| 南康市| 治县。| 阿城市| 大冶市| 封丘县| 锡林郭勒盟| 句容市| 宁晋县| 麟游县| 沈阳市| 永德县| 云林县| 蓬莱市| 乌鲁木齐县| 临桂县| 大英县| 荃湾区| 黑水县| 宁南县| 武陟县| 黄山市| 平舆县| 凤凰县| 宁安市| 高陵县| 武安市| 平罗县| 响水县| 永德县| 伊吾县| 清苑县| 宜丰县| 柘荣县| 渑池县| 漳州市| 普定县| 化州市| 贺州市| 大庆市| 长子县| 龙门县| 江西省| 仁怀市| 福鼎市| 白玉县| 长丰县| 东莞市| 漾濞| 绿春县| 大关县| 稻城县| 铜山县| 平定县| 白银市| 凉城县| 新宾| 获嘉县| 武定县| 阳原县| 新兴县| 白河县| 靖江市| 昆山市| 通城县| 新干县| 会泽县| 汉中市| 嵩明县| 额济纳旗| 大姚县| 全椒县| 亚东县| 龙游县| 临潭县| 翁牛特旗| 五莲县| 玉溪市| 江城| 共和县| 凤翔县| 临沧市| 江津市| 沭阳县| 常山县| 新竹市| 常德市| 贵溪市| 临桂县| 河津市| 甘肃省| 京山县| 通渭县| 墨竹工卡县| 永州市| 寿光市| 九龙县| 化州市| 中山市| 理塘县| 德兴市| 忻城县| 晋中市| 钟山县| 时尚| 靖安县| 姚安县| 石城县| 房产| 云林县| 哈尔滨市| 和平县| 平阴县| 滕州市| 舒城县| 张家港市| 大安市| 阿巴嘎旗| 康乐县| 石狮市| 虎林市| 中宁县| 朔州市| 红安县| 松滋市| 南部县| 乳源| 河间市| 驻马店市| 通许县| 大田县| 高碑店市| 新巴尔虎左旗| 余姚市| 涞水县| 沂水县| 阿鲁科尔沁旗| 蒙城县| 合作市| 图们市| 曲阳县| 宁海县| 林西县| 文登市| 新蔡县| 靖安县| 浦北县| 临澧县| 孟津县| 福鼎市| 嵊州市| 曲水县| 永定县| 绥化市| 南部县| 西和县| 常州市| 洛隆县| 墨竹工卡县| 门源| 库尔勒市| 连城县| 南开区| 专栏| 宝鸡市| 浦北县| 通许县| 皮山县| 九江县| 海兴县| 五寨县| 马鞍山市| 乡城县| 泽州县| 临夏市| 岚皋县| 余庆县| 固原市| 南投县| 嘉峪关市| 珲春市| 建昌县| 平利县| 揭西县| 临海市| 平昌县| 金昌市| 兴国县| 晋州市| 长兴县| 武平县| 惠州市| 子洲县| 金阳县| 石渠县| http://m.bo2020enlarges.fun http://m.gz1980breakc.fun http://m.yqo7j6rl9v.fun http://m.bo2020signals.fun http://wap.yqo2j0rl4v.fun http://m.gz1980frankc.fun http://www.bo2020narrows.fun http://www.yqo5j6rl9v.fun http://m.jvz0j4r9o.fun http://www.yqo6j3rl0v.fun http://www.gz1980addressc.fun http://wap.gz1980savec.fun http://wap.bo2020zoons.fun http://m.yqo9j2rl4v.fun http://www.gz1980dezandc.fun http://wap.gz1980raisec.fun http://wap.bo2020auctions.fun http://m.yqo3j2rl7v.fun http://m.jvz0j1r8o.fun http://m.gz1980loadc.fun http://www.bo2020defines.fun http://wap.bo2020excepts.fun http://m.yqo4j8rl8v.fun http://m.jvz1j5r5o.fun http://www.gz1980wirec.fun