文档章节

微服务开发的入门级框架Spring Boot详解(一)

二十岁以后
 二十岁以后
发布于 2017/08/08 14:07
字数 860
阅读 2467
收藏 136
点赞 3
评论 17

1、Spring Boot入门介绍

        1.1、Spring Boot 介绍

        Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架;SpringBoot帮助开发者快速启动一个Web容器;SpringBoot继承了原有Spring框架的优秀基因;SpringBoot使得基于Spring的开发过程更加简易。

         我写第一个微服务项目时,第一个感觉就是不习惯,因为从头到尾没有一个XML配置文件,所有配置都是通过yml或propertys文件,或者注解及API完成的(包括Mybatis的SQL语句都可以通过注解来写,其实从Spring3.0开始就已经支持了),第二个感觉就是开发更敏捷,因为不用去写大量的XML及生成众多的Mapper文件。第三个感觉就是觉得自己回不到传统开发的行业了(因为思想已经转变太多),微服务要有云上的思想,因为最后你的应用肯定还是要上云,微服务架构比起传统架构,更加的高内聚低耦合,一个功能Down掉根本不会影响其他功能的使用。行了,废话说的太多,下面正式开始。

       1.2、Spring Boot特点

            1.化繁为简,简化配置

            2.备受关注,是下一代框架

            3.微服务的入门级微框架       

        1.3、Spring Boot使用前提

            1.3.1 首先使用maven项目 我是用的是3.3.9

            1.3.2 使用Spring Boot之前不需要学会Spring MVC,但Spring的注解及使用要知道,SpringBoot是SpringMVC的升级版,但两者没有必然的联系。

        1.4、修改Maven下载源

              修改Maven Setting文件,将apache源修改为国内阿里源。国外源下载非常非常非常的慢!

先找到maven的主配置文件,默认位置为C:\Users\Administrator\.m2\Setting.xml

然后将以下代码粘贴到配置文件中。

<mirrors>

<mirror>

<id>alimaven</id>

<name>aliyun maven</name>

  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

<mirrorOf>central</mirrorOf>

</mirror>

</mirrors>

 

2、Spring Boot 第一个例子——HelloWord!

        2.1 首先安装插件Spring Tool Suite (STS) for Eclipse

步骤如下:

           点击 Help -> Eclipse Marketplace...

Search或选择“Popular”标签,选择Spring Tool Suite (STS) for Eclipse插件,安装:

注意:eclipse版本最好比较新的版本,maven最好3.3.4以上。 挂个VPN再下载,否则会出现下载失败的情况。

        2.2  建立项目

找到Spring目录,选择Spring Starter Project,Next

Next >>

Next >>

Next >> 完成,目录结构如下:

注:第一次建立工程会下许多jar包,如果没有做1.4步骤,下载会非常非常慢

        2.3  编写一个例子

在com.exanple.demo包下建立一个类,具体注解下面再做解释,代码如下:

package com.example.demo;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloSpringBoot {
	
	@RequestMapping(value="/hello" , method = RequestMethod.GET)
	public String HelloSpring(){
		
			return "Hello Spring Boot !!";
	}
}

启动DemoApplication,右键 >>run as >>使用spring boot app 方式启动主函数程序,代码如下:

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
}

使用浏览器访问http://127.0.0.1:8080/hello,第一个Spring Boot应用就写好了!

 

© 著作权归作者所有

共有 人打赏支持
二十岁以后
粉丝 226
博文 25
码字总数 23016
作品 0
海淀
架构师
加载中

评论(17)

songshien
songshien
好好学习一下,感谢分享!
kingpin-solo
kingpin-solo
你 return 里面的跟你页面输出的不一致呢 你是改什么了么
二十岁以后
二十岁以后

引用来自“一代钅建客”的评论

引用来自“二十岁以后”的评论

引用来自“一代钅建客”的评论

引用来自“二十岁以后”的评论

引用来自“一代钅建客”的评论

Eclipse Java EE IDE for Web Developers.

Version: Mars.1 Release (4.5.1)

Spring IDE

Version: 3.8.4.201703310634-RELEASE

安装途中未报错,重启New找不到Spring文件夹及其中项目
如果有的话你NEW ——》 other中搜Spring

回复@二十岁以后 : 就是搜不着呢,很奇怪
你Eclipse版本可能太低了,我现在的是EE的Neon版

回复@二十岁以后 : 老哥 求你的Eclipse链接
https://www.eclipse.org 官网
一代钅建客
一代钅建客

引用来自“二十岁以后”的评论

引用来自“一代钅建客”的评论

引用来自“二十岁以后”的评论

引用来自“一代钅建客”的评论

Eclipse Java EE IDE for Web Developers.

Version: Mars.1 Release (4.5.1)

Spring IDE

Version: 3.8.4.201703310634-RELEASE

安装途中未报错,重启New找不到Spring文件夹及其中项目
如果有的话你NEW ——》 other中搜Spring

回复@二十岁以后 : 就是搜不着呢,很奇怪
你Eclipse版本可能太低了,我现在的是EE的Neon版

回复@二十岁以后 : 老哥 求你的Eclipse链接
二十岁以后
二十岁以后

引用来自“一代钅建客”的评论

引用来自“二十岁以后”的评论

引用来自“一代钅建客”的评论

Eclipse Java EE IDE for Web Developers.

Version: Mars.1 Release (4.5.1)

Spring IDE

Version: 3.8.4.201703310634-RELEASE

安装途中未报错,重启New找不到Spring文件夹及其中项目
如果有的话你NEW ——》 other中搜Spring

回复@二十岁以后 : 就是搜不着呢,很奇怪
你Eclipse版本可能太低了,我现在的是EE的Neon版
一代钅建客
一代钅建客

引用来自“二十岁以后”的评论

引用来自“一代钅建客”的评论

Eclipse Java EE IDE for Web Developers.

Version: Mars.1 Release (4.5.1)

Spring IDE

Version: 3.8.4.201703310634-RELEASE

安装途中未报错,重启New找不到Spring文件夹及其中项目
如果有的话你NEW ——》 other中搜Spring

回复@二十岁以后 : 就是搜不着呢,很奇怪
一代钅建客
一代钅建客

引用来自“二十岁以后”的评论

引用来自“一代钅建客”的评论

Eclipse Java EE IDE for Web Developers.

Version: Mars.1 Release (4.5.1)

Spring IDE

Version: 3.8.4.201703310634-RELEASE

安装途中未报错,重启New找不到Spring文件夹及其中项目
你看看你Eclipse Marketplace的Installed中有没有STS

回复@二十岁以后 : 有的
二十岁以后
二十岁以后

引用来自“一代钅建客”的评论

Eclipse Java EE IDE for Web Developers.

Version: Mars.1 Release (4.5.1)

Spring IDE

Version: 3.8.4.201703310634-RELEASE

安装途中未报错,重启New找不到Spring文件夹及其中项目
如果有的话你NEW ——》 other中搜Spring
二十岁以后
二十岁以后

引用来自“一代钅建客”的评论

Eclipse Java EE IDE for Web Developers.

Version: Mars.1 Release (4.5.1)

Spring IDE

Version: 3.8.4.201703310634-RELEASE

安装途中未报错,重启New找不到Spring文件夹及其中项目
你看看你Eclipse Marketplace的Installed中有没有STS
一代钅建客
一代钅建客
Eclipse Java EE IDE for Web Developers.

Version: Mars.1 Release (4.5.1)

Spring IDE

Version: 3.8.4.201703310634-RELEASE

安装途中未报错,重启New找不到Spring文件夹及其中项目
学习 Spring Boot 知识看这一篇就够了

从2016年因为工作原因开始研究 Spring Boot ,先后写了很多关于 Spring Boot 的文章,发表在技术社区、我的博客和我的公号内。粗略的统计了一下总共的文章加起来大概有六十多篇了,其中一部分...

ityouknow ⋅ 05/28 ⋅ 0

用IDEA搭建springboot+thymleaf+mybatis(附分页方法)

参考thymleaf官方网址: 现在主流的微服务springboot配合H5开发效率极快。也符合现在前后端分离的开发方式。 thymleaf作为页面模板框架,可以更好的处理Controller和html的关系。 具体搭建过程...

HaleyLiu ⋅ 05/17 ⋅ 0

springcloud微服务理解

大家好这是我的一个简单理解,学习过程中有许多不明白的地方特此请教大家 我的项目大概情况: 生产者是一个springboot项目,有controller、service、entity、dao等完整的项目,添加注解后 @E...

樱木花道VS康 ⋅ 06/06 ⋅ 0

SpringBoot笔记(五)模板引擎thymeleaf和freemarker

SpringBoot本来不应该关注这块,但是既然都学了,就看看吧 SpringBoot属于前后端分离的微服务框架,默认的模板引擎是thymeleaf,虽然也能支持JSP,但是比较麻烦,另外freemarker也是SpringB...

世外大帝 ⋅ 04/25 ⋅ 0

微服务构建: Spring Boot

在展开 Spring Cloud 的微服务架构部署之前, 我们先了解一下用于构建微服务的基础框架-Spring Boot。 由于 Spring Cloud 的构建基于 Spring Boot 实现, 在后续的示例中我 们将大量使用 Sp...

wenhy ⋅ 前天 ⋅ 0

Spring Cloud-honghu Cloud分布式微服务云系统

简介 鸿鹄云Cloud是基于SpringCloud来封装的,是一系列框架的有序集合。利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现、注册、配置中心、消息总线、负载均衡、断路器...

itcloud ⋅ 04/25 ⋅ 0

SpringBoot 入门实例

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

Aotian ⋅ 05/29 ⋅ 0

用IDEA搭建springboot+thymleaf+mybatis+pageHelper搭建框架

参考thymleaf官方网址: 现在主流的微服务springboot配合H5开发效率极快。也符合现在前后端分离的开发方式。 thymleaf作为页面模板框架,可以更好的处理Controller和html的关系。 具体搭建过程...

HaleyLiu ⋅ 05/16 ⋅ 0

腾讯云安装Docker,并部署Springboot

  最近想在微信公众号中做个小程序出来,供大家日常生活中使用。本来打算直接调阿里api市场中提供的接口的,可是发现其中的接口都是http的,而微信小程序中要求接口必须是https的,因此只能...

u013088062 ⋅ 04/25 ⋅ 0

SpringBoot 2.0 系列001 -- 入门介绍以及相关概念

SpringBoot 2.0 系列001 -- 入门介绍以及相关概念 什么是SpringBoot? 项目地址:http://projects.spring.io/spring-boot/ SpringBoot介绍 Spring Boot使开发独立的,产品级别的基于Spring的...

路上有你0314 ⋅ 05/10 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 今天 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部