//本文作者: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

  1. 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.DruidDataSourcedriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/ceilan?characterEncoding=utf-8username: rootpassword: 123456initialSize: 5minIdle: 5maxActive: 20maxWait: 60000timeBetweenEvictionRunsMillis: 60000minEvictableIdleTimeMillis: 300000validationQuery: SELECT 1 FROM DUALtestWhileIdle: truetestOnBorrow: falsetestOnReturn: falsepoolPreparedStatements: truemaxPoolPreparedStatementPerConnectionSize: 20filters: stat,wallconnectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000mvc:view:suffix: .htmlresources:static-locations: classpath:/templates

  

5.下期

  1. mapper.xml、dao接口、实体类自动生成
  2. 集成一个很nice的开发模板
  3. CRUD操作以及集成PageHelper分页
  4. AOP全局的异常进行处理

转载于:https://www.cnblogs.com/javazhiyin/p/9927417.html

Spring全家桶系列–[SpringBoot入门到跑路]相关推荐

  1. 【Java进阶营】Spring全家桶系列–[SpringBoot入门到跑路]

    Spring全家桶----[SpringBoot入门到跑路] 对于之前的Spring框架的使用,各种配置文件XML.properties一旦出错之后错误难寻,这也是为什么SpringBoot被推上主流 ...

  2. 【Spring全家桶系列】Spring中bean标签的配置与使用

    ⭐️前面的话⭐️ 本文已经收录到<Spring框架全家桶系列>专栏(该专栏计划在全部文章更新完毕后付费,反正订阅不要钱,要不来一个?),本文将介绍Spring中XML配置Bean,有关be ...

  3. Spring全家桶系列一一SpringBoot与Mybatis结合

    本文首发于"Java知音". Mybatis 是一个持久层ORM框架,负责Java与数据库数据交互,也可以简易理解为中介,相对于它,还有个中介是hibernate,不过在mybat ...

  4. 这是我见过最完整的Spring全家桶学习笔记,没有之一!

    耗时将近一个月,终于赶在金九银十,学完了Spring全家桶系列.梳理了下整个过程,总结了一套经验和学习方法,分享给有需要的各位. 首先说一下,为什么我要花这么多时间,下功夫来恶补Spring全家桶? ...

  5. 拿下Spring全家桶后,我跳槽了

    耗时将近一个月,终于赶在金九银十,学完了Spring全家桶系列.梳理了下整个过程,总结了一套经验和学习方法,分享给有需要的各位. 首先说一下,为什么我要花这么多时间,下功夫来恶补Spring全家桶? ...

  6. routing zuul_金三银四跳槽季快到了:送上Spring cloud全家桶系列之Zuul

    一.前言 金三银四跳槽季快到了:送上Spring cloud全家桶系列之Eureka 金三银四跳槽季快到了:送上Spring cloud全家桶系列之Feign 金三银四跳槽季快到了:送上Spring ...

  7. Spring全家桶--SpringCloud(高级)

    Spring全家桶--SpringCloud(高级) 前言 一.SpringCloud alibaba 1.1 简介 1.2 主要功能 1.3 组件 1.4 资源获取 二.Nacos 2.1 Naco ...

  8. 阿里技术文档:Redis+Spring全家桶+Dubbo精选+高性能+高并发

    最近花了很长的时间去搜罗整理Java核心技术好文,我把每个Java核心技术的优选文章都整理成了一个又一个的文档.今天就把这些东西分享给老铁们,也能为老铁们省去不少麻烦,想学什么技能了,遇到哪方面的问题 ...

  9. Java全能手册火了!Redis/Nginx/Dubbo/Spring全家桶/啥都有

    前言 本文是为了帮大家快速回顾了Java中知识点,这套面试手册涵盖了诸多Java技术栈的面试题和答案,相信可以帮助大家在最短的时间内用作面试复习,能达到事半功倍效果. 本来想将文件上传到github上 ...

最新文章

  1. ASP.NET里的事务处理
  2. 让Java程序只运行一个实例
  3. golang-exec cmd data race
  4. 基于 Module 的 Laravel API 架构
  5. 【ros】1.ros的安装
  6. 关于SAP Spartacus嵌套label的padding问题
  7. php 实现栈与队列
  8. React开发(266):ant design customRequest
  9. Realsense D435i 运行 Vins-fusion
  10. KMP算法的next数组通俗解释
  11. win10获取注册表权限
  12. 风控建模:催收评分卡(四)--变量整理除了跟数据获取相关外还跟什么有关系?
  13. L1-080 乘法口诀数列 (20 分)-PAT 团体程序设计天梯赛 GPLT
  14. 判断激光雷达性能好坏必了解的指标
  15. vue中加载OCX控件(IE浏览器执行)
  16. ttest函数使用方法_TTEST 函数 - EXCEL 2010 中文帮助文档
  17. storm风暴英雄 tempo_【风暴英雄】锐派专区 - fb.replays.net | 风暴英雄官网合作中文站...
  18. 大数据时代改变生活九大应用领域
  19. 锤子便签V2.5产品体验报告
  20. GIT 与 GitHub简介

热门文章

  1. 《《世界因你而不同》》——读后感
  2. 江苏理工学院计算机考研,江苏理工学院考研成绩创新高 学风建设见成效
  3. ET框架Demo运行教程(一)
  4. 计算机病毒不可侵入,计算机病毒考试题型.doc
  5. Oracle--同义词
  6. android 调音器,节拍器源码,Best Metronome And Tuner
  7. 个人收集的java精品网站
  8. 河北工业机器人夹爪生产厂家_GIMATIC,GIMATIC电动夹爪,GIMATIC气动夹爪-工业控制领域一站式服务商-华联欧...
  9. Glade实现计算器
  10. 大数据培训班课程表介绍