spring Boot:官网地址 https://spring.io/

由来:

随着spring组件功能的强大,配置文件也越来越复杂繁琐,背离了spring公司的简洁快速开发原理,2015年就推出Springboot,号称几乎配置,简洁快速,确实也是这样,3分钟搭起后端框架。

为什么学习Spring Boot

  • 简介开发,时间就是金钱
  • 了解互联网公司技术特点
  • 顺应趋势早受益(好东西大家都用)

使用spring boot有什么好处

其实就是简单、快速、方便!平时如果我们需要搭建一个spring web项目的时候需要怎么做呢?

  • 配置web.xml,加载spring和spring mvc
  • 配置数据库连接、配置spring事务
  • 配置加载配置文件的读取,开启注解
  • 配置日志文件

...

配置完成之后部署tomcat 调试

...

现在非常流行微服务,如果我这个项目仅仅只是需要发送一个邮件,如果我的项目仅仅是生产一个积分;我都需要这样折腾一遍!

但是如果使用spring boot呢?

很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套web项目或者是构建一个微服务!

说这么多 来点实战的就知道了,绝对颠覆三观(php是最好的语言)

Spring Boot核心功能

  • 可以独立运行的Spring项目:可以以jar的形式独立运行,通过java -jar xx.jar即可运行
  • 内嵌servlet容器:可以选择内嵌tomcat,jetty等
  • 提供servlet简化maven配置:一个maven项目,使用了jar spring-boot-starter-web时,就会自动加载Spring-boot的依赖包
  • 自动配置spring:Spring boot会根据在类路径中的jar包、类,为jar包中的类自动封装配置bean
  • 准生产的应用健康:提供基于http\ssh\telnet运行时的项目进行监控
  • 无代码生成和xml配置:主要通过条件注解来实现

快速入门web开发

1.访问官网:www.spring.io 构建项目

直接下载好了 解压,导入你的编印工具 我用的eclipse

2.导入第一个springboot项目:

导入之后适应自己的开发环境(默认构建的项目1.8,我这里用的1.7)

修改pom文件:配置自己的jdk版本号

pom.xml文件中默认有两个模块:

spring-boot-starter:核心模块,包括自动配置支持、日志和YAML;

spring-boot-starter-test:测试模块,包括JUnit、Hamcrest、Mockito。

Maven刷新修复项目

SpringBoot目录结构 

  • 如上图所示,Spring Boot的基础结构共三个文件:
  • src/main/java  程序开发以及主程序入口
  • src/main/resources 配置文件
  • src/test/java  测试程序
  • 另外,spingboot建议的目录结果如下:
  • root package结构:com.example.myproject
com
+- example
+- myproject
+- Application.java
|
+- domain
| +- Customer.java
| +- CustomerRepository.java
|
+- service
| +- CustomerService.java
|
+- controller
| +- CustomerController.java
|
  • Application.java 建议放到跟目录下面,主要用于做一些框架配置
  • domain目录主要用于实体(Entity)与数据访问层(Repository)
  • service 层主要是业务类代码
  • controller 负责页面访问控制
  • 采用默认配置可以省去很多配置,当然也可以根据自己的喜欢来进行更改

最后,启动Application main方法,至此一个java项目搭建好了!

启动成功接下来玩controller吧

@Controller
//@RestClientTest // 标识这个类返回值为json 类似@ResponseBody
public class HelloSpringBootContorller { @RequestMapping(value ={"/index","index2"})
@ResponseBody
public Map<String,String> index(){
Map map = new HashMap();
map.put("hello", "Spring Boot!!"); return map;
}
}

运行SpringbootdemoApplication main方法访问:

到此一个web应用就搭好了,简单吗?

玩点有意思的吧:

想自定义banner那么先来看下application.properties配置文件 ,如下图第一个配置tomcat端口号 第二个配置banner就是上图的路径在哪里,实现方式有时间可以点开看看源码,很简单。后期很多配置都会基于此配置文件,会一步步介绍。

给大家粘贴一份吧:2b.txt

${AnsiColor.BRIGHT_YELLOW}
_ooOoo_
o8888888o
88" . "88
(| -_- |)
O\ = /O
____/`---'\____
.' \\| |// `.
/ \\||| : |||// \
/ _||||| -:- |||||- \
| | \\\ - /// | |
| \_| ''\---/'' | |
\ .-\__ `-` ___/-. /
___`. .' /--.--\ `. . __
."" '< `.___\_<|>_/___.' >'"".
| | : `- \`.;`\ _ /`;.`/ - ` : | |
\ \ `-. \_ __\ /__ _/ .-` / /
======`-.____`-.___\_____/___.-`____.-'======
`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
佛祖保佑 永无BUG

启动变生效,自定义banner,请访问:https://spring-boot-banner-gen.cfapps.io/banner 很有意思。

总结

使用spring boot可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用sping boot非常适合构建微服务。
今天只是个认识,入门,后期定时推送相关SpringBoot文档,点播关注吧。

技术交流群,海量学习资料免费获取:Q群:289683917

微服务架构 SpringBoot(一)的更多相关文章

  1. 微服务架构 SpringBoot(二)

    第二天内容:想来想去玩个ssm小demo吧 1.创建表 2..引入相关mybatis 数据库jar: <!--mybatis --> <dependency> <grou ...

  2. 微服务架构 - SpringBoot整合Jooq和Flyway

    在一次学习分布式跟踪系统zipkin中,发现了jooq这个组件,当时不知这个组件是干嘛的,后来抽空学习了一下,感觉这个组件还挺用的.它主要有以下作用: 通过DSL(Domain Specific La ...

  3. SpringBoot微服务架构下的MVC模型总结

    SpringBoot微服务架构下的MVC模型产生的原因: 微服务概念改变着软件开发领域,传统的开源框架结构开发,由于其繁琐的配置流程 , 复杂的设置行为,为项目的开发增加了繁重的工作量,微服务致力于解 ...

  4. 使用Redis为注册中心的Dubbo微服务架构(基于SpringBoot)

    title: 使用Redis为注册中心的Dubbo微服务架构(基于SpringBoot) date: 2019-07-30 14:06:29 categories: 架构 author: mrzhou ...

  5. spring-boot+spring-cloud+maven-module 一个 maven多模块的微服务架构模版

    spring-boot-cloud-module spring-boot+spring-cloud+maven-module 一个 maven多模块的微服务架构模版. 新手上路的绝佳模版,只有必要的配 ...

  6. SpringCloud SpringBoot 前后端分离企业级微服务架构源码赠送

    基于SpringBoot2.x.SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务敏捷开发系统架构.并引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手 ...

  7. 基于 Docker 的微服务架构实践

    本文来自作者 未闻 在 GitChat 分享的{基于 Docker 的微服务架构实践} 前言 基于 Docker 的容器技术是在2015年的时候开始接触的,两年多的时间,作为一名 Docker 的 D ...

  8. 一张图了解Spring Cloud微服务架构

    Spring Cloud作为当下主流的微服务框架,可以让我们更简单快捷地实现微服务架构.Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟.经得起实际考验的服务框架组合起来 ...

  9. Docker、kubernetes、微服务、SpringBoot/Cloud...好乱!到底要不要学?

    Docker.微服务日益火热的今天,相信标题上这些名词大家都不陌生.但也相信有很多同学并不够清楚他们的概念,不理解它们的关系,也可能有这样的疑惑:不知道跟我有没有关系?要不要学习?怎么去学习?学哪些东 ...

随机推荐

  1. vue—自定义指令

    今日分享—自定义指令 需要学习的点: modifiers属性的具体实例就是v-on:click.stop=”handClick” 一样,为指令添加一个修饰符. 全局指令:新建一个newDir.js i ...

  2. 2019-10-9:渗透测试,基础学习the-backdoor-factory-master(后门工厂)初接触

    该文章仅供学习,利用方法来自网络文章,仅供参考 the-backdoor-factory-master(后门工制造厂)原理:可执行二进制文件中有大量的00,这些00是不包含数据的,将这些数据替换成pa ...

  3. Linux 配置环境变量的tar

    打开工具  连接 到Xshell 6 工具里面 查看是否 配置成功 作为一个真正的程序员,首先应该尊重编程,热爱你所写下的程序,他是你的伙伴,而不是工具.

  4. PHP后端代码生成微信小程序带参数的二维码保存成jpg图片上传到服务器getwxacodeunlimit

    老板最近有点飘了,他要在PC端的网站放一个微信小程序的二维码,并且扫描这个二维码以后要跳到小程序对应的房源详情页. 这是微信官方给出的文档,连接地址:https://developers.weixin ...

  5. C# Properties文件夹 Bin 目录 Bin 目录

    Properties文件夹 定义你程序集的属性 项目属性文件夹 一般只有一个 AssemblyInfo.cs 类文件,用于保存程序集的信息,如名称,版本等,这些信息一般与项目属性面板中的数据对应,不需 ...

  6. String类中常用的方法

    @Test public void demo(){ // 以下为String中的常用的方法及注释, 最常用的注释前有**标注 String s = "abcdefg123456"; ...

  7. Linux运维的第一周总结

    这个阶段主要学习 Linux 运维技术,包括 Linux 基本操作.Bash 编程.应用服务部署.数据库服务部署.日志管理.系统监控等. 第1周: Linux基础本周学习 Linux 基本操作.用户与 ...

  8. WPF 使用Win32API 让控件置于WebBrowser上方

    WPF中Webbrowser控件使用HwndHost所以webbrowser会在所有控件的前方.所以webbrowser会覆盖所有同级的控件. 现在通过使用Win32API 可以避免这个情况. 最主要 ...

  9. golang数据结构之循环链表

    循环链表还是挺有难度的: 向链表中插入第一条数据的时候如何进行初始化. 删除循环链表中的数据时要考虑多种情况. 详情在代码中一一说明. 目录结构如下: circleLink.go package li ...

  10. Anticancer Effect of Deuterium Depleted Water - Redox Disbalance Leads to Oxidative Stress(低氘水的抗癌作用-氧化还原失衡导致了氧化应激)-解读人:范徉

    期刊名:Molecular & Cellular Proteomics 发表时间:(2019年12月) IF:4.828 单位:瑞典卡罗林斯卡学院 物种:人 技术:标记定量蛋白质组学,氧化还原 ...