4. 创建尚融宝接口工程

一、创建父工程srb

1、创建Maven项目

此处省略操作流程,如有不会的,可以参考这篇博客

Group:com.indi

Artifact:srb

2、配置pom

PS:第3步声明依赖版本的地方,如果你发现有些依赖的version报错的话,那是因为你以前从来没用过这些依赖,Maven没法管理,你需要要先去掉标签,把Maven自动把依赖下载下来,然后再加上标签,这样就没问题了。

	
	<parent>
		<groupId>org.springframework.bootgroupId>
		<artifactId>spring-boot-starter-parentartifactId>
		<version>2.3.4.RELEASEversion>
	parent>

	
	<properties>
		<java.version>1.8java.version>
		<spring-cloud-alibaba.version>2.2.2.RELEASEspring-cloud-alibaba.version>
		<spring-cloud.version>Hoxton.SR8spring-cloud.version>
		<mybatis-plus.version>3.4.1mybatis-plus.version>
		<velocity.version>2.0velocity.version>
		<swagger.version>2.9.2swagger.version>
		<swagger-bootstrap-ui.version>1.9.2swagger-bootstrap-ui.version>
		<commons-lang3.version>3.9commons-lang3.version>
		<commons-fileupload.version>1.3.1commons-fileupload.version>
		<commons-io.version>2.6commons-io.version>
		<alibaba.easyexcel.version>2.1.1alibaba.easyexcel.version>
		<apache.xmlbeans.version>3.1.0apache.xmlbeans.version>
		<fastjson.version>1.2.28fastjson.version>
		<gson.version>2.8.2gson.version>
		<json.version>20170516json.version>
		<aliyun-java-sdk-core.version>4.3.3aliyun-java-sdk-core.version>
		<aliyun-sdk-oss.version>3.10.2aliyun-sdk-oss.version>
		<jodatime.version>2.10.1jodatime.version>
		<jwt.version>0.7.0jwt.version>
		<httpclient.version>4.5.1httpclient.version>
	properties>

	
	<dependencyManagement>
		<dependencies>
			
			<dependency>
				<groupId>org.springframework.cloudgroupId>
				<artifactId>spring-cloud-dependenciesartifactId>
				<version>${spring-cloud.version}version>
				<type>pomtype>
				<scope>importscope>
			dependency>

			
			<dependency>
				<groupId>com.alibaba.cloudgroupId>
				<artifactId>spring-cloud-alibaba-dependenciesartifactId>
				<version>${spring-cloud-alibaba.version}version>
				<type>pomtype>
				<scope>importscope>
			dependency>

			
			<dependency>
				<groupId>com.baomidougroupId>
				<artifactId>mybatis-plus-boot-starterartifactId>
				<version>${mybatis-plus.version}version>
			dependency>
			
			<dependency>
				<groupId>com.baomidougroupId>
				<artifactId>mybatis-plus-generatorartifactId>
				<version>${mybatis-plus.version}version>
			dependency>
			
			<dependency>
				<groupId>org.apache.velocitygroupId>
				<artifactId>velocity-engine-coreartifactId>
				<version>${velocity.version}version>
			dependency>

			
			<dependency>
				<groupId>io.springfoxgroupId>
				<artifactId>springfox-swagger2artifactId>
				<version>${swagger.version}version>
			dependency>
			
			<dependency>
				<groupId>io.springfoxgroupId>
				<artifactId>springfox-swagger-uiartifactId>
				<version>${swagger.version}version>
			dependency>
			
			<dependency>
				<groupId>com.github.xiaoymingroupId>
				<artifactId>swagger-bootstrap-uiartifactId>
				<version>${swagger-bootstrap-ui.version}version>
			dependency>

			
			<dependency>
				<groupId>org.apache.commonsgroupId>
				<artifactId>commons-lang3artifactId>
				<version>${commons-lang3.version}version>
			dependency>

			
			<dependency>
				<groupId>commons-fileuploadgroupId>
				<artifactId>commons-fileuploadartifactId>
				<version>${commons-fileupload.version}version>
			dependency>

			
			<dependency>
				<groupId>commons-iogroupId>
				<artifactId>commons-ioartifactId>
				<version>${commons-io.version}version>
			dependency>

			
			<dependency>
				<groupId>com.alibabagroupId>
				<artifactId>easyexcelartifactId>
				<version>${alibaba.easyexcel.version}version>
			dependency>
			
			<dependency>
				<groupId>org.apache.xmlbeansgroupId>
				<artifactId>xmlbeansartifactId>
				<version>${apache.xmlbeans.version}version>
			dependency>

			
			<dependency>
				<groupId>com.alibabagroupId>
				<artifactId>fastjsonartifactId>
				<version>${fastjson.version}version>
			dependency>
			<dependency>
				<groupId>org.jsongroupId>
				<artifactId>jsonartifactId>
				<version>${json.version}version>
			dependency>
			<dependency>
				<groupId>com.google.code.gsongroupId>
				<artifactId>gsonartifactId>
				<version>${gson.version}version>
			dependency>

			
			<dependency>
				<groupId>com.aliyungroupId>
				<artifactId>aliyun-java-sdk-coreartifactId>
				<version>${aliyun-java-sdk-core.version}version>
			dependency>

			
			<dependency>
				<groupId>com.aliyun.ossgroupId>
				<artifactId>aliyun-sdk-ossartifactId>
				<version>${aliyun-sdk-oss.version}version>
			dependency>

			
			<dependency>
				<groupId>joda-timegroupId>
				<artifactId>joda-timeartifactId>
				<version>${jodatime.version}version>
			dependency>

			
			<dependency>
				<groupId>io.jsonwebtokengroupId>
				<artifactId>jjwtartifactId>
				<version>${jwt.version}version>
			dependency>

			
			<dependency>
				<groupId>org.apache.httpcomponentsgroupId>
				<artifactId>httpclientartifactId>
				<version>${httpclient.version}version>
			dependency>
		dependencies>
	dependencyManagement>

	
	<dependencies>
		<dependency>
			<groupId>org.springframework.bootgroupId>
			<artifactId>spring-boot-starter-testartifactId>
			<scope>testscope>
		dependency>
	dependencies>

二、创建模块indi-common

1、创建Maven模块

在srb下创建普通maven模块

Group:com.indi

Artifact:indi-common

2、配置pom

	<dependencies>
		<dependency>
			<groupId>org.springframework.bootgroupId>
			<artifactId>spring-boot-starter-webartifactId>
		dependency>

		
		<dependency>
			<groupId>org.projectlombokgroupId>
			<artifactId>lombokartifactId>
		dependency>
	dependencies>

三、创建模块service-base

1、创建Maven模块

在srb下创建普通maven模块

Group:com.indi

Artifact:service-base

2、配置pom

	<dependencies>
		
		<dependency>
			<groupId>com.indigroupId>
			<artifactId>indi-commonartifactId>
			<version>1.0-SNAPSHOTversion>
		dependency>

		
		<dependency>
			<groupId>io.springfoxgroupId>
			<artifactId>springfox-swagger2artifactId>
		dependency>

		
		<dependency>
			<groupId>io.springfoxgroupId>
			<artifactId>springfox-swagger-uiartifactId>
		dependency>
	dependencies>

四、创建模块service-core

1、创建Maven模块

在srb下创建普通maven模块

Group:com.indi

Artifact:service-core

2、配置pom

	<dependencies>
		
		<dependency>
			<groupId>com.indigroupId>
			<artifactId>service-baseartifactId>
			<version>1.0-SNAPSHOTversion>
		dependency>

		
		<dependency>
			<groupId>mysqlgroupId>
			<artifactId>mysql-connector-javaartifactId>
		dependency>

		
		<dependency>
			<groupId>com.baomidougroupId>
			<artifactId>mybatis-plus-boot-starterartifactId>
		dependency>
		
		<dependency>
			<groupId>com.baomidougroupId>
			<artifactId>mybatis-plus-generatorartifactId>
		dependency>
		
		<dependency>
			<groupId>org.apache.velocitygroupId>
			<artifactId>velocity-engine-coreartifactId>
		dependency>
	dependencies>

五、代码生成器

1、创建数据库

创建数据库srb_core

并执行sql脚本初始化数据结构和数据

2、创建代码生成器

service-core模块中创建,具体路径如下

4. 创建尚融宝接口工程_第1张图片

package com.indi.srb.core;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.Test;

public class CodeGenerator {
     

    @Test
    public void genCode() {
     

        // 1、创建代码生成器
        AutoGenerator mpg = new AutoGenerator();

        // 2、全局配置
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
        gc.setOutputDir(projectPath + "/src/main/java");
        gc.setAuthor("Alvin");
        gc.setOpen(false); //生成后是否打开资源管理器
        gc.setServiceName("%sService");	//去掉Service接口的首字母I
        gc.setIdType(IdType.AUTO); //主键策略
        gc.setSwagger2(true);//开启Swagger2模式
        mpg.setGlobalConfig(gc);

        // 3、数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:mysql://localhost:3306/srb_core?serverTimezone=GMT%2B8&characterEncoding=utf-8");
        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("123456");
        dsc.setDbType(DbType.MYSQL);
        mpg.setDataSource(dsc);

        // 4、包配置
        PackageConfig pc = new PackageConfig();
        pc.setParent("com.indi.srb.core");
        pc.setEntity("pojo.entity"); //此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。
        mpg.setPackageInfo(pc);

        // 5、策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略

        strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
        strategy.setEntityLombokModel(true); // lombok
        strategy.setLogicDeleteFieldName("is_deleted");//逻辑删除字段名
        strategy.setEntityBooleanColumnRemoveIsPrefix(true);//去掉布尔值的is_前缀(确保tinyint(1))
        strategy.setRestControllerStyle(true); //restful api风格控制器
        mpg.setStrategy(strategy);

        // 6、执行
        mpg.execute();
    }
}

六、启动应用程序

1、创建application.yml

server:
  port: 8110 # 服务端口
spring:
  profiles:
    active: dev # 环境设置
  application:
    name: service-core # 服务名
  datasource: # mysql数据库连接
    type: com.zaxxer.hikari.HikariDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/srb_core?serverTimezone=GMT%2B8&characterEncoding=utf-8
    username: root
    password: 123456
mybatis-plus: #mybatis
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  mapper-locations: classpath:com/indi/srb/core/mapper/xml/*.xml

2、创建SpringBoot配置文件

service-core中创建config包,创建MybatisPlusConfig类

package com.indi.srb.core.config;

@Configuration
@MapperScan("com.indi.srb.core.mapper")
@EnableTransactionManagement //事务处理
public class MybatisPlusConfig {
     
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
     
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));//分页
        return interceptor;
    }
}

3、创建SpringBoot启动类

package com.indi.srb.core;

@SpringBootApplication
@ComponentScan({
     "com.indi.srb"})	// 扫描com.indi.srb
public class ServiceCoreApplication {
     
    public static void main(String[] args) {
     
        SpringApplication.run(ServiceCoreApplication.class, args);
    }
}

4、运行启动类

查看控制台8110端口是否成功启动

你可能感兴趣的:(尚融宝,spring,cloud)