springboot简介

springboot做为微服务的开发集合框架,有着天然的好处,它不像springmvc那样笨重繁杂,springmvc众多的配置使得开发人员很厌烦,为解决众多的配置带来的烦扰,springboot采用约定大于配置的方式,即开发过程中的配置项可以不配置,spring已经内置了这些配置。例如,web服务端口默认为8080,也就是说我们不进行认为配置项目仍然可以正常运行。在这里我们推荐,对于那些不重要的配置使用默认的方式,对于那些终于的配置请使用配置的方式。

使用场景

springboot一出生就被赋予了神圣的使命,即微服务。另外springboot又可以拆分项目独立功能,为分布式架构提供了良好的基础。我们总结springboot可以使用在以下场景中,

1、微服务,即从某个大型系统中拆分出独立的公共服务;

2、前后端分离,即把前端页面和后端的业务逻辑处理分离开,单独开发互不影响;

3、分布式,即分布式的开发基础;

安装

1、网上下载

搜索“springboot”或者输入网址“https://spring.io/projects/spring-boot”,进入下面的页面

找到红框中的“spring initializr”,点击进入,如下图,

从上图可以选择项目的构建方式“maven”或“gradle”,开发平台“java”或“kotlin”等,springboot的版本,我这里选择的maven的方式,使用Java开发平台,使用的springboot的版本为最新版2.1.2。下面需要填写maven的信息group和Artifact,然后在右边选择相应的依赖,我这里需要开发web项目,我需要选择web的依赖,另外我还选择了devtools这个依赖主要是一些和开发相关的工具,像保存代码后自动重启服务等功能,如下图

填写好信息后点击上图中的绿色按钮,“Generate Project”,生成项目会提示下载信息,下载相应的zip文件。

2、导入IDE

我这里使用的eclipse,由于在第一步中我们使用的maven的方式构建的工程,所以在导入项目的时候要确保IDE中已经配置好maven的环境,请参考“maven之一:maven安装和eclipse集成”。

使用maven导入的方式,导入已存在的maven项目,如下图

然后,选择刚才从spring官网下载下的zip的解压文件,进行导入。在成功导入后,IDE会自动根据项目中的pom文件从网上下载相应的依赖文件(看个人网速)。

3、项目结构

下图是我的项目结构,

可以看到这是标准的maven的项目结构,src/main/java下是Java文件,src/main/resources是资源文件及前端页面,其他文件夹不再解释,主要的看下pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>cn.com.my</groupId>
<artifactId>study01</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>study01</name>
<description>Demo project for Spring Boot</description> <properties>
<java.version>1.8</java.version>
</properties> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>

看下以下依赖

spring-boot-starter-web 这个是springboot的web依赖

spring-boot-devtools 这个是开发工具包

spring-boot-starter-test 这个是测试的

细心的读者会发现怎么没有springboot相关的那,我们在pom文件中上半部分,可以看到下面的配置

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

上面的配置即是springboot的基础配置。

使用

经过上面的配置及介绍下面开始使用。

springboot的启动方式可以是使用main方法的方式,也可以部署在tomcat等服务器下。springboot提供了启动类,如下是我项目中的启动类,

package cn.com.my.study01;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
public class Study01Application { public static void main(String[] args) {
SpringApplication.run(Study01Application.class, args);
} }

这是一个普通的Java类,上面有springbootApplication的注解,运行main方法既可启动springboot项目,启动图如下

这样一个springboot项目已经运行起来了。

有不当之处欢迎指出,感谢!

springboot入门之一:环境搭建的更多相关文章

  1. 【个人笔记】003-PHP基础-01-PHP快速入门-03-PHP环境搭建

    003-PHP基础-01-PHP快速入门 03-PHP环境搭建 1.客户端(浏览器) IE FireFox CHROME Opera Safari 2.服务器 是运行网站的基本 是放置程序代码的地方 ...

  2. Android入门之环境搭建

    欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/1376935560.html 原创:An ...

  3. scala 入门Eclipse环境搭建

    scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld IDE选择并下载: scala for eclipse 下载: http://scala-ide.org/downloa ...

  4. 新手嘛,先学习下 Vue2.0 新手入门 — 从环境搭建到发布

    Vue2.0 新手入门 — 从环境搭建到发布 转自:http://www.runoob.com/w3cnote/vue2-start-coding.html 具体文章详细就不搬了,步骤可过去看,我这就 ...

  5. scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld

    scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld 学习了: http://blog.csdn.net/wangmuming/article/details/3407911 ...

  6. 总结Vue 第四天:vue-cli(Vue2.0 新手入门 — 从环境搭建到发布)

    总结Vue 第四天:vue-cli(Vue2.0 新手入门 - 从环境搭建到发布) 一.Vue CLI----(Vue2.0 新手入门 - 从环境搭建到发布): ■   CLI是Command-Lin ...

  7. 一、springBoot简介与环境搭建

    前言:学习计划 1.springBoot环境搭建 2.springBoot入门 3.srpingBoot整合Mybatis 4.springBoot整合Redis,Redis集群 5.springBo ...

  8. JAVA WEB快速入门之环境搭建

    前言 我是一直致力于:.NET技术栈.WEB前端.架构设计相关的开发与管理工作,但因国内大环境影响及公司技术方向发生转变(由.NET全部转为JAVA),需要熟练掌握JAVA WEB相关的知识,故我也得 ...

  9. OpenCV3入门1—环境搭建与实验

    1.环境搭建 1.1 VS2017开发环境搭建 1).下载软件包 https://opencv.org/ 2).配置环境变量 配置win10系统环境变量,把下面路径添加到path. D:\WORK\5 ...

  10. python从零开始基础入门——开发环境搭建:Visual Studio Code

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:山海皆可平z PS:如有需要Python学习资料的小伙伴可以加点击下方 ...

随机推荐

  1. IE8崩溃在CElement::GetUpdatedLayoutWithContext

    发了一个我们页游助手的版本时,测试报告在某些机器上点开某网站时崩溃 "0x637e5067指令引用的0x00000008内存,该内存不能为read",查看dump文件,堆栈如下: ...

  2. [转]MVVM架构~mvc,mvp,mvvm大话开篇

    MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负 责显示.作为一种新的模式,MVP与MVC有着一 ...

  3. 调试libRTMP代码来分析RTMP协议

    RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写.该协议基于TCP,是一个协议族,常用在视频直播领域.RTMP协议的默认端口是1935. 学习一个协议 ...

  4. 404 Note Found 队-Alpha5

    目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...

  5. java二维码工具类,中间带LOGO的,很强大

    jar包下载maven 配置: Xml代码 收藏代码 <dependency> <groupId>com.google.zxing</groupId> <ar ...

  6. RAC日常维护命令

    olsnodes -n   查看节点个数 crs_stat   -t    查看RAC中各节点的资源状态 crs_stat   -p   查看RAC的节点的配置 crsctl命令: 对于crsctl命 ...

  7. code#5 P4 逻辑树

    逻辑树   时间限制: 3.0 秒 空间限制: 512 MB 相关文件: 题目目录 题目描述 有一棵树,叫逻辑树. 这个树有根,有 2N−1 个节点,其中 N 个叶子,每个非叶节点恰好有两个孩子. 每 ...

  8. 搭建kafka高级消费 (high-consumer)php7

    说明:有很多同学在服务器上搭建好,kafka,在应用端使用kafka时候出现很多问题,这里提供下我的kafka生产和消费的php函数 环境说明: 1:首先php要有kafka扩展,在命令行中输入 ph ...

  9. 11-while循环基本使用

    hm_02_第一个while循环.py def main(): i = 1 while i <= 3: print(i, 'Hello world') i += 1 print(i) 1 Hel ...

  10. 扫描算法(SCAN)——磁盘调度管理

    原创 上一篇博客写了最短寻道优先算法(SSTF)——磁盘调度管理:http://www.cnblogs.com/chiweiming/p/9073312.html 此篇介绍扫描算法(SCAN)——磁盘 ...