当前位置: 移动技术网 > IT编程>开发语言>Java > Spring全家桶系列–[SpringBoot入门到跑路]

Spring全家桶系列–[SpringBoot入门到跑路]

2018年11月08日  | 移动技术网IT编程  | 我要评论

//本文作者: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/ 生成一个初始项目

生成springboot

这里会下载一个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://www.lhsxpumps.com/_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.下期

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网