基于Spring Boot 2.X的API功能

背景

目前各系统之间的数据交互越来越频繁,频繁的给项目增加接口不仅增加整个系统的负担,还给开发人员麻烦,开发效率低,日常维护起来更是嫌弃;最近几年Spring微服务非常火,基于Spring Boot的Spring Cloud已经成为一站式微服务框架;准备入手Spring Cloud;首先从Spring Boot下手,使用Spring Boot写了个通用型的第三方接口功能,目前主要用于查询数据抛给调用者;其实也比较简单,主要就是实现业务逻辑,对于访问数据层是直接使用以前项目访问的方式,打成jar包,直接依赖使用等等;然后就是定义一下接口的规范,过滤掉一部分URL,输入的URI必须包含指定访问哪个数据库,条件可选;输出必须让调用者知道调用接口后的结果,尽可能简单明了;至于调用者需要哪些数据则需要双方协调沟通,配置好sql语句;尽可能实现调用者的需求。

具体实现

一、前提条件
1.安装JDK8或以上(springBoot 2.X版本)
2.开发工具(Eclipse或IDEA等,本次使用的Eclipse)
3.Spring开发套件工具(springsource-tool-suite)
4.apache-maven

二、开发准备
1.eclipse中安装Spring开发套件工具(下载时注意查看eclipse版本对应的springSource-tool-suite版本)
使用SpringSource-tool-suite插件是为开发Spring应用程序而定制的,它提供一个随时可用的环境来实现调试、运行和部署Spring应用程式,插件(sts3版本)集成了Pivatal tc Server(企业级的轻量java应用服务器,拓展了Apache Tomcat;可以说是企业版本的Apache Tomcat)、Pivotal Cloud Foundry(PCF是一个统一的多云平台,可以运行你的企业应用程序)、Git(分布式版本控制系统)、Maven(项目管理工具)、AspectJ(面向切面的框架AOP,拓展了java语言)等等。

1.1离线安装springSource-tool-suite
(1)下载(地址:https://spring.io/tools3/sts/all)
下载对应版本
(2)打开Eclipse–>help–>install New Software…

安装插件
(3)直接默认下一步Next,等待安装完成即可;安装完成之后就可以建Spring项目了。直接输入相关名称,然后默认下一步Next即可完成。

在这里插入图片描述
三、开发过程

(1)Spring Boot项目结构
主要用到几个目录和文件:
1)src/main/java目录:建java项目文件等等;其中包含主程序入口xxxxApplication.java文件,通过直接运行该类来启动Spring Boot应用
2)src/main/resources:配置目录,该目录用来存放应用的一些配置信息,比如应用名、服务端口、数据库配置等等,也可以存放一些静态资源,如一些图片、CSS文件、template模板文件等等;
3)src/test/java:单元测试目录,生成的xxxxApplicationTests通过JUnit4实现,可以直接运行Spring Boot进行测试。
4)application.properties:用于存放程序的各种依赖模块的配置信息,比如服务端口,数据库连接配置等等;目前
设置了第三使用方接口服务端口server.port=10101。
5)pom.xml:maven项目文件,主要用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的URL、项目的依赖关系。
在这里插入图片描述
(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/maven-v4_0_0.xsd">
    <!--
    	POM的版本
    -->
    <modelVersion>4.0.0</modelVersion>
    <!-- 
        含义:组织标识,定义了项目属于哪个组
        用途:此名称则是本地仓库中的路径
        命名规范:项目名称,模块,子模块
    -->
    <groupId>com.demo</groupId>
    <!-- 
        含义:项目名称也可以说你所模块名称,定义当面Maven项目在组中唯一的ID
        用途:例如:filter,在M2_REPO目录下,将是:com/demo/filter对应下的目录
        命名规范:唯一就好
    -->
    <artifactId>filter</artifactId>
    <!-- 
        含义:项目当前的版本号
        用途:例如:0.0.1-SNAPSHOT,在M2_REPO目录下,将是:com/demo/filter/0.0.1-SNAPSHOT目录
    -->
    <version>0.0.1-SNAPSHOT</version>
    <!-- 打包的格式,可以为:pom , jar , maven-plugin , ejb , war , ear , rar , par -->
    <packaging>war</packaging>
    <!-- 元素声明了一个对用户更为友好的项目名称 -->
    <name>Spring-Boot-Demo</name>
    <!-- 依赖继承的父类的jars -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<!--
	相关属性配置,如改变版本号、统一编码方式等等  
	-->
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
		<springfox.version>2.2.2</springfox.version>
		<maven.compiler.source>1.8</maven.compiler.source>
    	<maven.compiler.target>1.8</maven.compiler.target>
    	<skipTests>true</skipTests>
	</properties>
	<!-- 
	依赖的额外jar包 ,根据自己实际需要去依赖,如果maven的中央库有就直接去取;
	本地仓库需要自己指定或直接导到项目目录,依赖指定位置即可,groupId、artifacId和version名字随便取
	-->
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
		    <groupId>org.apache.commons</groupId>
		    <artifactId>commons-text</artifactId>
		    <version>1.6</version>
		</dependency>
		<dependency>
		    <groupId
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值