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. 手把手带你一键部署 Kubernetes + KubeSphere 至 Linux

    本文介绍一个最快安装 Kubernetes 和体验 KubeSphere 核心功能的方式,all-in-one 模式可一键安装 Kubernetes v1.15.5 和 KubeSphere 至一台 ...

  2. 关于PHP中依赖注入的详细介绍

    依赖注入原理: 依赖注入是一种允许我们从硬编码的依赖中解耦出来,从而在运行时或者编译时能够修改的软件设计模式.简而言之就是可以让我们在类的方法中更加方便的调用与之关联的类. 实例讲解: 假设有一个这样 ...

  3. 2019-10-16:渗透测试,基础学习,burpsuit笔记

    maccms10后门分析下载网址,是假官网http://www.maccmsv10.com/download.htmlMaccms10基于php+mysql的maccms,是苹果的内容管理,方便使用, ...

  4. linux进程管理常用命令

    初始化进程在centos5,6,7中的发展: 在centos5中使用sysv init 是一个shell脚本,依靠依次执行脚本中的命令启动系统,只能串行执行. 在centos6中使用upstart,也 ...

  5. EasyCode实现数据库到Swagger全自动化

    简介 EasyCode是基于IntelliJ IDEA开发的代码生成插件,通过自定义生成模板可以完成定制化的 Mapper Service Controller 生成,结合数据库 Comment还可以 ...

  6. vscode启动黑屏

    今天打开vscode的时候突然就黑屏了,一脸懵 于是上网找了一下,根据这位博主的解决办法: https://blog.csdn.net/insgo/article/details/102975986 ...

  7. 个人收藏-未整理--wince

    Wince 6.0 教程---第一课 环境搭建 分类: WINCE 2009-09-10 08:47 7622人阅读 评论(5) 收藏 举报 wincemicrosoftnetworkservicew ...

  8. Streams:深入理解Redis5.0新特性

    概述 相较于Redis4.0,Redis5.0增加了很多新的特性,而streams是其中最重要的特性之一.streams是redis 的一种基本数据结构,它是一个新的强大的支持多播的可持久化的消息队列 ...

  9. Django中间件部分源码分析

    中间件源码分析 中间件简介 中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于在全局范围内改变Django的输入和输出.每个中间件组件都负责做一些特定的 ...

  10. CentOS 7上利用systemctl添加自定义系统服务

    Centos 7 之 systemctl CentOS 7继承了RHEL 7的新的特性,例如强大的systemctl,而systemctl的使用也使得以往系统服务的/etc/init.d的启动脚本的方 ...