Spring全家桶系列–[SpringBoot入门到跑路]
//本文作者:cuifuan
Spring全家桶————[SpringBoot入门到跑路]
对于之前的Spring框架的使用,各种配置文件XML、properties一旦出错之后错误难寻,这也是为什么SpringBoot被推上主流的原因,SpringBoot的配置简单,说5分钟能从框架的搭建到运行也不为过,现在更是微服务当道,所以在此总结下SpringBoot的一些知识,新手教程。
1.在官网快速创建SpringBoot项目
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具,它使用一种基于Groovy语言来声明项目设置.也就是和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>1.5.15.RELEASE</version>
</dependency>
而Gradle引入 build.gradle
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '1.5.15.RELEASE'
很清晰明了,依赖管理比maven强,脚本编写比Ant好用,Google都在使用了,赶紧上手吧!
Gradle本地安装教程
windows :https://www.cnblogs.com/linkstar/p/7899191.html
Mac_OS :https://www.jianshu.com/p/e9d035f30876
下面开始进入正题:
进入 https://start.spring.io/ 生成一个初始项目

这里会下载一个zip的项目压缩包
2. 使用Gradle导入SpringBoot项目
demo.zip解压之后记得复制下demo文件夹放的路径
在此用的开发工具是IntelliJ IDEA
下面是导入流程:
IDEA里点击File -> Open -> 粘贴刚刚的demo文件夹路径 -> 找到build.gradle双击
-> Open as Peoject -> 等待Gradle加载完就好,看不明白看下图


打开之后Gradle加载下载的特别慢,要换成国内源,打开build.gradle配置文件用下面的替换
build.gradle
/** buildscript中的声明是gradle脚本自身需要使用的资源。
* 可以声明的资源包括依赖项、第三方插件、maven仓库地址等
*/
buildscript {
ext {
springBootVersion = '1.5.6.RELEASE'
}
repositories {
//使用国内源下载依赖
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
// 应用Java插件
apply plugin: 'java'
//让工程支持IDEA的导入
apply plugin: 'idea'
apply plugin: 'org.springframework.boot' group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
//build.gradle文件中直接声明的依赖项、仓库地址等信息是项目自身需要的资源。
repositories {
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
} /**
* 在gradle里,对依赖的定义有6种
* compile, runtime, testCompile, testRuntime, providedCompile,providedRuntime
* compile:需要引用这个库才能进行编译工作
* testRuntime : 测试依赖范围
* 其他的了解:http://shmilyaw-hotmail-com.iteye.com/blog/2345439
*/
dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
testCompile('org.springframework.boot:spring-boot-starter-test')
compile 'com.alibaba:druid:1.0.29'
}
3. SpringBoot项目启动
启动前准备,依据下图把 DemoApplication 启动类移到 demo 文件夹的同级;
启动类相当于管理项目的负责人,你把他扔到与控制层同级肯定出错不是;
然后把demo包改名为controller并新建TestController类

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

上图成功代表项目可以访问了
4.配置application.yml
什么是yml?
YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,YAML是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,
可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。引自:https://www.cnblogs.com/hanson1/p/7105248.html
听不懂吧,其实我也看不明白
就是相当于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/ceilan?characterEncoding=utf-8
username: root
password: 123456
initialSize: 5
minIdle: 5
maxActive: 20
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
filters: stat,wall
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
mvc:
view:
suffix: .html
resources:
static-locations: classpath:/templates
5.下期
- mapper.xml、dao接口、实体类自动生成
- 集成一个很nice的开发模板
- CRUD操作以及集成PageHelper分页
- AOP全局的异常进行处理
Spring全家桶系列–[SpringBoot入门到跑路]的更多相关文章
- Spring全家桶系列–SpringBoot渐入佳境
//本文作者:cuifuan //本文将收录到菜单栏:<Spring全家桶>专栏中 首发地址:https://www.javazhiyin.com/20913.html 萌新:小哥,我在实 ...
- Spring全家桶系列–SpringBoot之AOP详解
//本文作者:cuifuan //本文将收录到菜单栏:<Spring全家桶>专栏中 面向方面编程(AOP)通过提供另一种思考程序结构的方式来补充面向对象编程(OOP). OOP中模块化的关 ...
- Spring全家桶系列–SpringBoot之入门JPA
//本文作者:cuifuan 什么是JPA? 一种规范,并非ORM框架,也就是ORM上统一的规范 用了之后可以做什么,为什么要用? 代码解释: 实体类 package com.example.spri ...
- Spring全家桶系列–SpringBoot与Mybatis结合
//本文作者:cuifuan Mybatis 是一个持久层ORM框架,负责Java与数据库数据交互,也可以简易理解为中介,相对于它,还有个中介是hibernate,不过在mybatis中sql语句的灵 ...
- Spring全家桶一一SpringBoot与Mybatis
Spring全家桶系列一一SpringBoot与Mybatis结合 本文授权"Java知音"独家发布. Mybatis 是一个持久层ORM框架,负责Java与数据库数据交互,也可以 ...
- Spring全家桶–SpringBoot Rest API
Spring Boot通过提供开箱即用的默认依赖或者转换来补充Spring REST支持.在Spring Boot中编写RESTful服务与SpringMVC没有什么不同.总而言之,基于Spring ...
- Spring全家桶——SpringBoot渐入佳境
Spring全家桶系列--SpringBoot渐入佳境 萌新:小哥,我在实体类写了那么多get/set方法,看着很迷茫 小哥:那不是可以自动生成吗? 萌新:虽然可以自动生成,但是如果我要修改某个变量的 ...
- Spring全家桶——SpringBoot之AOP详解
Spring全家桶--SpringBoot之AOP详解 面向方面编程(AOP)通过提供另一种思考程序结构的方式来补充面向对象编程(OOP). OOP中模块化的关键单元是类,而在AOP中,模块化单元是方 ...
- 10分钟详解Spring全家桶7大知识点
Spring框架自2002年诞生以来一直备受开发者青睐,它包括SpringMVC.SpringBoot.Spring Cloud.Spring Cloud Dataflow等解决方案.有人亲切的称之为 ...
随机推荐
- 【BZOJ3551】 [ONTAK2010]Peaks加强版
BZOJ3551 [ONTAK2010]Peaks加强版 Solution Kruscal重构树后发现可以对于小于的离散化然后倍增+主席树找到上一个的可行解. 然后就可以了. 如果数组开的不好,容易在 ...
- D3.js (v3)+react框架 基础部分之认识选择集和如何绘制一个矢量图
首先需要下载安装d3.js : yarn add d3 然后在组建中引入 : import * as d3 from 'd3' 然后定义一个方法,在componentDidMount()这个钩子 ...
- [EXP]WordPress Core 5.0 - Remote Code Execution
var wpnonce = ''; var ajaxnonce = ''; var wp_attached_file = ''; var imgurl = ''; var postajaxdata = ...
- Java实现二分法排序
二分法:(二分法不是只能做数组,这里的数组只是为了举例) 在给出的有序排列的数组中,把目标值和数组中间值进行比较,如果相等,则返回中间值下标,如果目标值小于中间值,就从数组的前半段再次执行二分法查找, ...
- Google Protocol Buffers 入门
Google Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化.它很适合做数据存储或 RPC 数据交换格式.可用于通讯协议.数据存储等领域的 ...
- C#:VS2010 由于缺少调试目标"xx.exe",Visual Studio无法开始调试,请生成项目并重试,或者相应地设置OutputPath和AssemblyName属性,使其指向目标程序集的正确位置
解决办法:重置VS2010的环境配置 原文地址:曾是土木人 转载请注明出处:http://www.cnblogs.com/hongfei/p/3813369.html
- MySQL笔记(1)---MySQL体系结构和存储引擎
1.前言 本系列记录MYSQL数据库的一些结构和实现特点,方便查询. 2.基本概念 数据库:物理操作系统文件或者其他形式文件类型的集合.MySQL中数据库文件可以是frm.MYD.MYI.ibd结尾的 ...
- FactoryMethod工厂方法模式升级成AbstractFactory抽象工厂模式
具体参考抽象工厂(AbstractFactory)模式-创建型模式,本文在FactoryMethod工厂方法模式(创建型模式)的基础上进行业务进一步抽象,不做详细原理介绍. 1.在FactoryMet ...
- 解析BroadcastReceiver之你需要了解的一些东东
前些天把四大组件之一的Service扯了一遍,今天就要开始谈谈它的弟兄BroadcastReceiver了.写到这里我挺纠结的,因为广播接收者确实比较简单,但是各位就不要以为简单的就不内涵,也许我们慢 ...
- Maven install [WARNING] The artifact aspectj:aspectjrt:jar:1.5.4 has been relocated to org.aspectj:aspectjrt:jar:1.5.4
一.背景 最近在给项目打包的时候,在控制台老是出现一行警告:[WARNING] The artifact aspectj:aspectjrt:jar:1.5.4 has been relocated ...

