Spring Boot环境配置:Spring Boot+Mybatis+Gradle
来源:互联网 发布:开放记录数据在线查 编辑:程序博客网 时间:2024/05/02 09:44
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。简言之就是,约定大于配置。
突出特点有:
1. 创建独立的Spring应用程序
2. 嵌入的Tomcat,无需部署WAR文件
3. 通过各种starter,简化项目依赖配置
3. 自动配置Spring
4. 提供一系列运行监控手段,如指标,健康检查和外部配置
6. 无需代码生成,也不需要XML配置
下面看看如何快速配置springboot脚手架工程。以主要配置文件为说明线索。
build.gradle
首先是依赖文件,spring boot 支持gradle和maven。这里采用gradle举例,maven的只有格式的差异,引用的包都是一样的。
如下:
buildscript { ext { springBootVersion = '1.5.3.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") }}apply plugin: 'java'apply plugin: 'idea'apply plugin: 'org.springframework.boot'apply plugin: 'war'version = '0.0.1-SNAPSHOT'sourceCompatibility = 1.8repositories { mavenCentral()}configurations { providedRuntime}dependencies { compile('org.springframework.boot:spring-boot-starter-aop') compile('org.apache.cxf:cxf-spring-boot-starter-jaxrs:3.1.11') compile('org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.0') compile('org.springframework.boot:spring-boot-starter-validation') compile('org.springframework.boot:spring-boot-starter-web') runtime('org.springframework.boot:spring-boot-devtools') runtime('com.h2database:h2') runtime('mysql:mysql-connector-java') /*providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')*/ testCompile('org.springframework.boot:spring-boot-starter-test')}
其中,springBootVersion 指定spring boot 的版本。
最主要的是dependencies,里面列出工程依赖的包,和maven的dependencies标签功能是一直的,可是在配置写法上简洁了很多。
application.yml
这个文件是spring boot工程的主要配置文件,支持application.yml和application.properties两种形式。两种方式各有优势,yml层级明确,properties写法传统,简单。
数据库连接的配置信息需要定义在这里,在build.gradle文件里,若引用了org.mybatis.spring.boot:mybatis-spring-boot-starter,则数据库连接信息就必须配置,因为spring boot采用约定的方式,配置org.mybatis.spring.boot:mybatis-spring-boot-starter之后,系统就认为需要数据库,如果不配置的话,则在启动会数据库连接异常,导致无法启动。
当然,application.yml的可配置信息有很多,如下面配置的日志输出信息。或者spring boot默认端口是8080,可以通过server:port: 9000改为9000,等等。
这里示例如下,配置了数据库连接信息,mybatis配置和日志输出。
spring: # 数据库配置 datasource: url: jdbc:mysql://localhost/world username: root password: root driver-class-name: org.gjt.mm.mysql.Driver # mybatis配置mybatis: mapper-locations: classpath*:mapper/*.xmllogging: level: debug file: logs/mdesk.log
数据库创建
这不多说,建个测试数据库,并和上面配置的数据库连接保持一致。
mybatis
因持久化层采用mybatis,所以生成mybatis的mapping文件和实体类,这些可以借助mybatis提供的工具自动生成,不是侧重点,不多介绍。
如下是生成的示例,从中也可以看出我的测试库的表结构。
CountryMapper.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="com.mungo.mdesk.dao.mapper.CountryMapper"> <!--<cache type="com.wooyoo.learning.util.RedisCache"/>--> <select id="select" resultType="com.mungo.mdesk.domain.Country"> SELECT * FROM Country WHERE code = #{code} LIMIT 1 </select></mapper>
CountryMapper.java
package com.mungo.mdesk.dao.mapper;import com.mungo.mdesk.domain.Country;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Param;/** * Created by wangxx on 2017/6/1. */@Mapperpublic interface CountryMapper { Country select(@Param("code") String code);}
Country.java
package com.mungo.mdesk.domain;/** * Created by wangxx on 2017/6/27. */public class Country { public String code; public String name; public String continent; public String region; public String surfaceArea; public String indepYear; public String population; public String lifeExpectancy; public String gNP; public String gNPOld; public String localName; public String governmentForm; public String headOfState; public String capital; public String code2; ....getter/setter }
Spring Boot启动代码
SpringBoot的启动方式,不用多说,main()方法直接启动,工程创建后会有一个**Application.java的文件,里面就一个main方法,类一般有@SpringBootApplication。
下面定义一个简单的Controller测试请求。
CountryController.java
package com.mungo.mdesk.controller;import com.mungo.mdesk.dao.mapper.CountryMapper;import com.mungo.mdesk.dao.mapper.ProductMapper;import com.mungo.mdesk.domain.Country;import com.mungo.mdesk.domain.Product;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/** * Created by wangxx on 2017/6/1. */@RestController@RequestMapping("/country")public class CountryController { @Autowired private CountryMapper countryMapper; @GetMapping("/{code}") public Country getProductInfo(@PathVariable("code") String code) { // TODO Country country = countryMapper.select(code); return country; }}
很简单,定义一个/country路由,后面通过url传递参数,通过解析传过来的参数,查询数据里相关国家信息并直接以json返回。因为使用了@RestController注解。若要返回页面使用@Controller注解即可。
至此,Spring Boot+Mybatis+Gradle环境搭建完成。整个项目结构如下图:
访问结果:
http://localhost:8080/country/CHN
- Spring Boot环境配置:Spring Boot+Mybatis+Gradle
- Spring Boot 集成mybatis(gradle)
- Spring Boot + gradle环境搭建
- spring-boot配置log4j(gradle)
- spring boot中mybatis配置
- spring boot mybatis+分页配置
- Spring Boot配置使用Mybatis
- Spring-boot +Gradle依赖管理+Mybatis 配置文件
- spring boot 多环境配置
- spring boot 开发环境配置
- spring boot之多环境配置
- Spring Boot简单环境配置
- Spring Boot gradle
- spring boot + gradle + mysql
- Spring Boot + Gradle + Thymeleaf
- Spring Boot + Mybatis + Log4j2开发环境搭建
- Spring Boot 引入 Mybatis 环境搭建
- 搭建spring boot整合mybatis环境
- 如果优雅地处理多个请求并在请求结束后统一处理
- python cheat sheet
- fragment的回退栈机制
- 使用UDL测试数据库连接、生成连接字符串
- iOS IOS atomic与nonatomic,assign,copy与retain的定义和区别
- Spring Boot环境配置:Spring Boot+Mybatis+Gradle
- tensorflow的错误:IndentationError:unexpected indent及解决方案
- WebLogic使用总结(四)——WebLogic部署Web应用
- fig14_06.cpp
- Android设计模式之观察者模式
- vmware workstation导入ovf文件报错:未通过OVF规范一致性或虚拟硬件合规性检查
- Android多媒体架构图(opencore框架)
- HttpSessionListener监听器,实现在线用户统计
- MAC解压软件推荐——全能解压