SpringBoot2.x【一】从零开始环境搭建

对于之前的Spring框架的使用,各种配置文件XML、properties一旦出错之后错误难寻,这也是为什么SpringBoot被推上主流的原因,SpringBoot的配置简单,说5分钟能从框架的搭建到运行也不为过.

现在更是微服务当道,所以在此总结下SpringBoot的一些知识,新手教程.

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具,它使用一种基于Groovy语言来声明项目设置.也就是和Maven差不多的项目构建工具.

1. Maven 与 Gradle 对比

maven要引入依赖 pom.xml

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.1.5.RELEASE</version>
</dependency>

而Gradle引入 build.gradle

implementation 'org.springframework.boot:spring-boot-starter-web'

Gradle本地安装教程

windows :https://www.cnblogs.com/linkstar/p/7899191.html

Mac_OS :https://www.jianshu.com/p/e9d035f30876

优点: Gradle 相当于 Maven 与 Ant 的合体

缺点: 对于微服务多项目的子类引用,不如 Maven

2.在官网快速创建SpringBoot项目

下面开始进入正题:

进入 https://start.spring.io/ 生成一个初始项目

这里会下载一个zip的项目压缩包

3. 使用Gradle导入SpringBoot项目

demo.zip解压之后记得复制下demo文件夹放的路径

在此用的开发工具是IntelliJ IDEA

下面是导入流程:

IDEA里点击File -> Open -> 粘贴刚刚的demo文件夹路径 -> 找到build.gradle双击

-> Open as Peoject -> 等待Gradle加载完就好,看不明白看下图

(可选) 更改项目名

修改 settings.gradle

rootProject.name = 'SpringBoot-demo'

去文件夹把项目文件夹名称改了

重新导入, 到此, 更改项目名结束

打开之后Gradle加载下载的特别慢,要换成国内源,打开build.gradle配置文件用下面的替换

build.gradle


/** buildscript中的声明是gradle脚本自身需要使用的资源。
* 可以声明的资源包括依赖项、第三方插件、maven仓库地址等
*/
plugins {
id 'org.springframework.boot' version '2.1.5.RELEASE'
id 'java'
} apply plugin: 'io.spring.dependency-management' group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8' //让工程支持IDEA的导入
apply plugin: 'idea' repositories {
//使用国内源下载依赖
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
mavenCentral()
} dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'com.alibaba:druid:1.1.11'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

4. SpringBoot项目启动

启动前准备

依据下图把 DemoApplication 启动类 移到包最外层

启动类相当于管理项目的负责人,你把他扔到与控制层同级肯定出错不是;

** TestController.java **

package com.example.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; /**
* 这里的@RestController相当于 @ResponseBody+@Controller
* 使用@RestController 相当于使每个方法都加上了 @ResponseBody 注解
* created by cfa 2018-11-06 下午 11:30
**/
@RestController
public class TestController { /**
* 这里的@GetMapping相当于@RequestMapping(value = "/hello", method = RequestMethod.GET)
* created by cfa 2018-11-06 下午 11:29
**/
@GetMapping("hello")
public String test(){
return "i love java";
}
}

启动成功之后访问 http://localhost:8080/hello

上图成功代表项目可以访问了

5.配置application.yml

什么是yml?

YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,YAML是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。

听不懂吧,其实我也看不明白

就是相当于xml,properties的配置文件,看的更直观,上代码吧还是

# 下述properties
spring.resources.locations= classpath:/templates
# 改为yml格式之后
spring:
resources:
static-locations: classpath:/templates

yml需要注意,冒号(:)后面要跟空格,第二级和第一级要在上下行用一个Tab的距离

** application.yml **

server:
port: 8080
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/dovis?characterEncoding=utf-8
username: root
password: root
mvc:
view:
suffix: .html
resources:
static-locations: classpath:/templates

欢迎关注微信公众号

SpringBoot2.x【一】从零开始环境搭建的更多相关文章

  1. 从零开始学Xamarin.Forms(二) 环境搭建、创建项目

    原文:从零开始学Xamarin.Forms(二) 环境搭建.创建项目 一.环境搭建 Windows下环境搭建:     1.下载并安装jdk.Android SDK和NDK,当然还需要 VS2013 ...

  2. 【HADOOP】| 环境搭建:从零开始搭建hadoop大数据平台(单机/伪分布式)-下

    因篇幅过长,故分为两节,上节主要说明hadoop运行环境和必须的基础软件,包括VMware虚拟机软件的说明安装.Xmanager5管理软件以及CentOS操作系统的安装和基本网络配置.具体请参看: [ ...

  3. Python3从零开始爬取今日头条的新闻【一、开发环境搭建】

    Python3从零开始爬取今日头条的新闻[一.开发环境搭建] Python3从零开始爬取今日头条的新闻[二.首页热点新闻抓取] Python3从零开始爬取今日头条的新闻[三.滚动到底自动加载] Pyt ...

  4. SpringBoot2.0基础案例(01):环境搭建和RestFul风格接口

    一.SpringBoot 框架的特点 1.SpringBoot2.0 特点 1)SpringBoot继承了Spring优秀的基因,上手难度小 2)简化配置,提供各种默认配置来简化项目配置 3)内嵌式容 ...

  5. SpringBoot2整合activiti6环境搭建

    SpringBoot2整合activiti6环境搭建 依赖 <dependencies> <dependency> <groupId>org.springframe ...

  6. SpringBoot2 整合Nacos组件,环境搭建和入门案例详解

    本文源码:GitHub·点这里 || GitEE·点这里 一.Nacos基础简介 1.概念简介 Nacos 是构建以"服务"为中心的现代应用架构,如微服务范式.云原生范式等服务基础 ...

  7. 从零开始针对 .NET 应用的 DevOps 运营实践 - 运行环境搭建

    一.Overview 最近的一段时间,在公司里我都在进行基于 Jenkins 和 SonarQube 配合已有的 Gitlab 搭建部门的持续集成环境的工作,虽然之前有使用过 GitHub Actio ...

  8. (一) 从零开始搭建Spark Standalone集群环境搭建

    本文主要讲解spark 环境的搭建 主机配置  4核8线程,主频3.4G,16G内存 虚拟环境: VMWare 虚拟环境系统:Ubuntu 14.10 虚拟机运行环境: jdk-1.7.0_79(64 ...

  9. Vue + Spring Boot从零开始搭建个人网站(一) 之 项目前端Vue.js环境搭建

    前言: 最近在考虑搭建个人网站,想了想决定采用前后端分离模式 前端使用Vue,负责接收数据 后端使用Spring Boot,负责提供前端需要的API 就这样开启了我边学习边实践之旅 Vue环境搭建步骤 ...

随机推荐

  1. 小白的MyBatis逆向工程

    MyBatis逆向工程   MyBatis逆向工程,简称MBG.是一个专门为MyBatis框架使用者定制的代码生成器. 可以快速的根据数据库表生成对应的映射文件,接口,以及Bean类对象. 在Myba ...

  2. Swoole 实战:MySQL 查询器的实现(协程连接池版)

    目录 需求分析 使用示例 模块设计 UML 类图 入口 事务 连接池 连接 查询器的组装 总结 需求分析 本篇我们将通过 Swoole 实现一个自带连接池的 MySQL 查询器: 支持通过链式调用构造 ...

  3. 回顾2016年最火热的IT技术 科技发展让人惊叹!

    编者按: 科技的发展速度总是让人们惊诧,仅从2016年来看,不仅有新涌现出来的技术和概念,还有很多甚至十年前出现的技术在今年呈现爆发性扩张.在这篇文章中,笔者将2016年最火热的IT技术尽收囊中,与各 ...

  4. three.js中的矩阵变换(模型视图投影变换)

    目录 1. 概述 2. 基本变换 2.1. 矩阵运算 2.2. 模型变换矩阵 2.2.1. 平移矩阵 2.2.2. 旋转矩阵 2.2.2.1. 绕X轴旋转矩阵 2.2.2.2. 绕Y轴旋转矩阵 2.2 ...

  5. javaweb系统调优方案

    1. java代码优化 java代码优化6大原则 : https://blog.csdn.net/bunny1024/article/details/72803708 java代码优化: https: ...

  6. Spring学习笔记(八)Spring Data JPA学习

    ​ jpa简单的命名规则如下,这个不多做介绍,放在这里也是给自己以后查找起来方便,这篇文章主要介绍之前一直忽略了的几个点,像@NoRepositoryBean这个注解,以及怎么自定义Repositor ...

  7. leetcode_二叉树验证(BFS、哈希集合)

    题目描述: 二叉树上有 n 个节点,按从 0 到 n - 1 编号,其中节点 i 的两个子节点分别是 leftChild[i] 和 rightChild[i]. 只有 所有 节点能够形成且 只 形成 ...

  8. 【漫画】JAVA并发编程 J.U.C Lock包之ReentrantLock互斥锁

    在如何解决原子性问题的最后,我们卖了个关子,互斥锁不仅仅只有synchronized关键字,还可以用什么来实现呢? J.U.C包中还提供了一个叫做Locks的包,我好歹英语过了四级,听名字我就能马上大 ...

  9. Spring DI使用详解

    Spring DI使用详解 一.介绍 DI的定义:依赖注入,为类里面的属性设值.例如,我们之前的setName方法就是在为name属性设值. IOC与DI的关系:IOC进行对象的创建,DI进行值的注入 ...

  10. Jmeter-函数助手之${__RandomString(,,)}使用

    ${__RandomString(,,)}使用方法 1.在日常写脚本中,可以随机生成指定的几个字符串作为入参的value,那么jmeter 的这个工具就特别好用.  应用: 2.填写接口入参, 3.运 ...