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. 2、Web Service-术语

    1.Java中的Web Service规范 三种规范:JAXM&SAAJ.JAX-WS(JAX-RPC).JAX-RS. 三要素:soap,wsdl,uddi 1. Jaxws(掌握) JAX ...

  2. [转]MBTiles 1.2 规范翻译

    MBTiles 1.2 可以参考超图的文档MBTiles扩展具体实现可以参考浅谈利用SQLite存储离散瓦片的思路和实现方法 mapbox提供了一个简单实现测试代码,github地址在这里https: ...

  3. linux内核中socket的创建过程源码分析(总结性质)

    在漫长地分析完socket的创建源码后,发现一片浆糊,所以特此总结,我的博客中同时有另外一篇详细的源码分析,内核版本为3.9,建议在阅读本文后若还有兴趣再去看另外一篇博文.绝对不要单独看另外一篇. 一 ...

  4. Java 读取properties

    package Db; import java.io.InputStream; import java.util.Properties; import java.io.BufferedReader; ...

  5. linux中安装jdk以及eclipse的安装

    最近将系统换成了linux(ubuntu14.04),随之而来的是各种软件的配置,环境的配置,因此趁机将自己的过程整理出来. 1:linux中怎么安装jdk 1 首先现在jdk源文件http://ww ...

  6. [Zedboard Linux系统移植]-从MACHINE_START開始

    改动自:http://www.cnblogs.com/lknlfy/archive/2012/05/06/2486479.html 内核的启动过程? 3)内核的启动过程? arch/arm/kerne ...

  7. spring cloud config将配置存储在数据库中

    Spring Cloud Config Server最常见是将配置文件放在本地或者远程Git仓库,放在本地是将将所有的配置文件统一写在Config Server工程目录下,如果需要修改配置,需要重启c ...

  8. StackStorm利用CORS null origin获得RCE (CVE-2019-9580)

    在2.10.3/2.9.3之前,如果请求的来源未知,我们将返回null,null可以导致某些客户端中来自未知来源的成功请求,允许针对StackStorm API进行XSS样式攻击. (Firefox上 ...

  9. C++较精确的测试代码运行时间

    #include <chrono> using namespace chrono; int main() { auto t0 = system_clock::now(); //测试代码 a ...

  10. ionic ios 打包发布流程

    1.ionic cordova resources ios    在windows下 生成ios资源包 2.拷贝ionic 项目到mac电脑 不用拷贝platforms 并解压 3.正常情况下wido ...