1,项目创建
    新建maven项目,如下图:

选择路径,下一步

输入1和2的内容,点完成

项目创建完毕,结构如下图所示:

填写pom.xml里内容,为了用于打包,3必须选择jar,4和5按图上填写

2,项目配置
2-1,application.properties
server.address=localhost
server.context-path=/
server.port=8090

#------ isosurface ---------
spring.datasource.url=jdbc:sqlserver://localhost:1433;DatabaseName=gisdemo
spring.datasource.username=sa
spring.datasource.password=sapwd1234
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
2-2,pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com</groupId>
<artifactId>gis</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>

<name>gis.services</name>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath />
</parent>

<repositories>
<repository>
<id>in-project</id>
<name>In Project Repo</name>
<url>file:///${project.basedir}/lib</url>
</repository>
</repositories>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<artifactId>spring-boot-starter-logging</artifactId>
<groupId>org.springframework.boot</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- Log4j2 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>

<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>
</dependencies>

<build>
<finalName>gisServices</finalName>

<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

<description>gis.services</description>
</project>
3,部分页面
StartServer.java - 服务启动页

/**
* 服务启动
*
* @date 2017-11-28 13:16:28
*/
@SpringBootApplication //必须!
@MapperScan(basePackages = "com.gis.mapper") //必须!
public class StartServer extends SpringBootServletInitializer {

private static Class<StartServer> applicationClass = StartServer.class;

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(applicationClass);
}

public static void main(String[] args) {
SpringApplication.run(applicationClass, args);
}
}
Mapper.java - 数据访问

/**
* <p>
* Mapper 接口
* </p>
*
* @author ${author}
* @since 2017-07-25
*/
@Mapper
public interface StbprpAndDataMapper{

//List<StbprpAndData> selectDataAndStbprp(Map<String, Object> params);

@Select("SELECT A.STCD,A.STNM,A.LGTD,A.LTTD,A.STTP,B.DRP AS COMMENT FROM ST_STBPRP_B A LEFT JOIN \n" +
" (SELECT STCD,SUM(DRP) AS DRP FROM ST_PPTN_R WHERE TM <= #{endTime} and TM >= #{beginTime} GROUP BY STCD)B \n" +
" ON A.STCD=B.STCD ORDER BY B.DRP DESC")
List<StbprpAndData> selectDataAndStbprp(@Param("beginTime") String bt,@Param("endTime") String et);
}
controller 调用

List<StbprpAndData> datalist = stbprpAndDataMapper.selectDataAndStbprp(bt, et);
4,运行
    直接运行 StartServer.java ,出现下图代表运行成功,

通过浏览器访问 http://localhost:8090/isosurface/getIso?bt=111&et=222 即可

localhost、8090 在application.properties中配置

isosurface为controller的@RequestMapping

getIso为conrtoller里方法的@RequestMapping

bt和et为方法参数

@RestController
@RequestMapping("isosurface")
public class IsosurfaceController {

@Autowired
private StbprpAndDataMapper stbprpAndDataMapper;

@RequestMapping("getIso")
public String getIso(String bt, String et) {
List<StbprpAndData> datalist = stbprpAndDataMapper.selectDataAndStbprp(bt, et);
return "";
}
}
5,打包发布
运行—调试配置,

已经创建过的配置会如图所示,2为配置名,3和4默认不变,然后 调试,出现了BUITL SUCCESS代表打包成功,jar文件会在项目的target目录下

注意:打包会自动从maven服务器上下载jar包然后压缩,无法通过maven下载的第三方jar需要手动添加进本地maven库,如下图所示,先在lib文件夹内根据如下层级结构添加jar包

1、2、3为groupId,4为artifactId,5为版本号,然后在pom.xml中添加如下节点

<dependency>
<groupId>org.freehep.emf</groupId>
<artifactId>freehep-graphicsio-emf</artifactId>
<version>2.1.1</version>
</dependency>
并且指定本地maven库,也就是项目的lib文件夹

<repositories>
<repository>
<id>in-project</id>
<name>In Project Repo</name>
<url>file:///${project.basedir}/lib</url>
</repository>
</repositories>
更新maven 保证不报错即可,如果报错,说明层级结构建的不对,按照maven库生成的目录结构来修改项目lib里的目录结构

6,批处理运行
可直接通过cmd运行
java -jar xxxx.jar
或者创建bat批处理程序运行

@echo off

rem 判断默认jar文件是否存在,存在则启动,不存在则遍历当前目录下的jar文件并启动(只取一个,后者覆盖前者)

set jarName=gisServices.jar
set folderName=%cd%

if not exist "gisServices.jar" (
for /f "delims=\" %%f in ('dir /b /a-d /o-d "%folderName%\*.jar"') do (
set jarName=%%f
)
)

::echo %jarName%
java -jar %jarName%
pause
7,其他
配置文件 application.properties 可放到jar同级目录内,外部的配置文件优先级要高于jar包内部的,jar包运行时会自动去查找然后调用配置信息,配置修改后重启服务即可。

参考文档:https://blog.csdn.net/t123y456m/article/details/79726399

Java微服务(Spring-boot+MyBatis+Maven)入门教程的更多相关文章

  1. spring Boot + MyBatis + Maven 项目,日志开启打印 sql

    在 spring Boot + MyBatis + Maven 项目中,日志开启打印 sql 的最简单方法,就是在文件 application.properties 中新增: logging.leve ...

  2. Spring Boot:快速入门教程

    什么是Spring Boot? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人 ...

  3. .NetCore微服务Surging新手傻瓜式 入门教程 学习日志---先让程序跑起来(一)

    原文:.NetCore微服务Surging新手傻瓜式 入门教程 学习日志---先让程序跑起来(一) 写下此文章只为了记录Surging微服务学习过程,并且分享给广大想学习surging的基友,方便广大 ...

  4. .NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二)

    原文:.NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二) 先上项目解决方案图: 以上可以看出项目结构可以划分为4大块,1是surging的核心底层,2,3,4都可以 ...

  5. myEclipse 搭建 Spring boot+myBatis+maven 项目流程

    1.新建一个工程 new-->maven project-->next-->next-->在filter中搜索webapp-->group id.Artifact id- ...

  6. idea搭建Spring Boot+Mybatis及使用教程

    环境准备 idea 15 jDK tomcat maven 搭建方式 官网下载源码包解压缩 使用idea中的Spring initializr创建 这两种方法创建的项目完全相同,只是操作方式不一样 这 ...

  7. 微服务学习及.net core入门教程

    https://www.cnblogs.com/jackyfei/p/12067708.html https://www.cnblogs.com/jesse2013/ http://video.jes ...

  8. Java微服务框架一览

    引言:本文首先简单介绍了微服务的概念以及使用微服务所能带来的优势,然后结合实例介绍了几个常见的Java微服务框架. 微服务在开发领域的应用越来越广泛,因为开发人员致力于创建更大.更复杂的应用程序,而这 ...

  9. Spring boot Mybatis整合构建Rest服务(超细版)

     Springboot+ Mybatis+MySql整合构建Rest服务(涵盖增.删.改.查) 1.概要 1.1 为什么要使用Spring  boot? 1.1.1 简单方便.配置少.整合了大多数框架 ...

随机推荐

  1. 将arcEngine9.3和dev9.2.4开发的项目升级成arcObject10.2和dev15.1.3过程中遇到的问题和解决

    好久没碰.net了,arcgis更是感觉都忘干净了,今天将arcEngine9.3和dev9.2.4开发的一个项目升级成arcObject10.2和dev15.1.3过程中遇到了一系问题,留个笔记,留 ...

  2. 【记录】eclipse / STS 设置注释模版格式/导入注释模版格式

    设置注释模板的入口:Window->Preference->Java->Code Style->Code Template 将如下保存在新创建的xml文件中,导入进去 < ...

  3. Tensorflow的基础用法

    简介 Tensorflow是一个深度学习框架,它使用图(graph)来表示计算任务,使用tensor(张量)表示数据,图中的节点称为OP,在一个会话(Session)的上下文中执行运算,最终产生ten ...

  4. 【css对齐】块内或者行内图片与文字居中对齐最靠谱的方式!

    块内或者行内图片与文字居中对齐最靠谱的方式! 做图片与文字在一行的按钮时候最常用到,总结了一个靠谱的方法,终于可以完美的对齐下面给个代码 首先是html: <p class="btnU ...

  5. Spring的PropertyPlaceholderConfigurer应用(转)

    转自:http://www.cnblogs.com/yl2755/archive/2012/05/06/2486752.html Spring 利用PropertyPlaceholderConfigu ...

  6. Splay(区间翻转)&树套树(Splay+线段树,90分)

    study from: https://tiger0132.blog.luogu.org/slay-notes P3369 [模板]普通平衡树 #include <cstdio> #inc ...

  7. Postman Interceptor和postman更改id仍然无法使用的,从这里下载相同版本的postman和interceptor插件

    1.postman安装: chrome://extensions/打开,把下载好的postman插件拖到里面就可以了. 2.Postman interceptor安装: chrome://extens ...

  8. javascript基本类型及类型转换

    每种语言都有自己的基本类型,javascript也不例外.在javascript中有五大基本类型,分别是number,string,boolean,null,undefined.其他不属于这五种基本类 ...

  9. leetcode-第14周双周赛-1271-十六进制魔术数字

    自己的提交: class Solution: def toHexspeak(self, num: str) -> str: num = hex(int(num)) num = str(num)[ ...

  10. Vue学习笔记【19】——Vue中的动画(使用第三方 CSS 动画库)

    导入动画类库:  <link rel="stylesheet" type="text/css" href="./lib/animate.css& ...