Java微服務(wù)實(shí)戰(zhàn)項(xiàng)目尚融寶接口創(chuàng)建詳解
需求
積分等級(jí)CRUD列表和表單
一、創(chuàng)建父工程srb
- 創(chuàng)建SpringBoot項(xiàng)目
Group:com.atguigu
Artifact:srb
- 刪除src目錄
- 配置SpringBoot版本
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> </parent>
- 配置pom依賴版本號(hào)
<properties> <java.version>1.8</java.version> <spring-cloud-alibaba.version>2.2.2.RELEASE</spring-cloud-alibaba.version> <spring-cloud.version>Hoxton.SR8</spring-cloud.version> <mybatis-plus.version>3.4.1</mybatis-plus.version> <velocity.version>2.0</velocity.version> <swagger.version>2.9.2</swagger.version> <swagger-bootstrap-ui.version>1.9.2</swagger-bootstrap-ui.version> <commons-lang3.version>3.9</commons-lang3.version> <commons-fileupload.version>1.3.1</commons-fileupload.version> <commons-io.version>2.6</commons-io.version> <alibaba.easyexcel.version>2.1.1</alibaba.easyexcel.version> <apache.xmlbeans.version>3.1.0</apache.xmlbeans.version> <fastjson.version>1.2.28</fastjson.version> <gson.version>2.8.2</gson.version> <json.version>20170516</json.version> <aliyun-java-sdk-core.version>4.3.3</aliyun-java-sdk-core.version> <aliyun-sdk-oss.version>3.10.2</aliyun-sdk-oss.version> <jodatime.version>2.10.1</jodatime.version> <jwt.version>0.7.0</jwt.version> <httpclient.version>4.5.1</httpclient.version> </properties>
- 配置pom依賴
<dependencyManagement> <dependencies> <!--Spring Cloud--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!--Spring Cloud Alibaba--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>${spring-cloud-alibaba.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!--mybatis-plus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mybatis-plus.version}</version> </dependency> <!--mybatis-plus 代碼生成器--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>${mybatis-plus.version}</version> </dependency> <!-- Mybatis Plus 代碼生成器模板引擎, --> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>${velocity.version}</version> </dependency> <!--swagger--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${swagger.version}</version> </dependency> <!--swagger ui--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>${swagger.version}</version> </dependency> <!--swagger-bootstrap-ui--> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>${swagger-bootstrap-ui.version}</version> </dependency> <!--commons-lang3--> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${commons-lang3.version}</version> </dependency> <!--文件上傳--> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>${commons-fileupload.version}</version> </dependency> <!--commons-io--> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${commons-io.version}</version> </dependency> <!--excel解析--> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>${alibaba.easyexcel.version}</version> </dependency> <!--excel解析依賴--> <dependency> <groupId>org.apache.xmlbeans</groupId> <artifactId>xmlbeans</artifactId> <version>${apache.xmlbeans.version}</version> </dependency> <!--json--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>${fastjson.version}</version> </dependency> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>${json.version}</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>${gson.version}</version> </dependency> <!--阿里云SDK遠(yuǎn)程調(diào)用--> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>${aliyun-java-sdk-core.version}</version> </dependency> <!--阿里云文件管理--> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>${aliyun-sdk-oss.version}</version> </dependency> <!--日期時(shí)間工具--> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>${jodatime.version}</version> </dependency> <!--jwt工具--> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>${jwt.version}</version> </dependency> <!--httpclient--> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>${httpclient.version}</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
二、創(chuàng)建模塊guigu-common
1、創(chuàng)建Maven模塊
在srb下創(chuàng)建普通maven模塊
Group:com.atguigu
Artifact:guigu-common
2、配置pom
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--lombok用來簡(jiǎn)化實(shí)體類:需要安裝lombok插件--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> </dependencies>
三、創(chuàng)建模塊service-base
1、創(chuàng)建Maven模塊
在srb下創(chuàng)建普通maven模塊
Group:com.atguigu
Artifact:service-base
2、配置pom
注意:依賴guigu-common
<dependencies> <dependency> <groupId>com.atguigu</groupId> <artifactId>guigu-common</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <!--swagger--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> </dependency> <!--swagger ui--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> </dependency> </dependencies>
四、創(chuàng)建模塊service-core
1、創(chuàng)建Maven模塊
在srb下創(chuàng)建普通maven模塊
Group:com.atguigu
Artifact:service-core
2、配置pom
注意:依賴service-base
<dependencies> <dependency> <groupId>com.atguigu</groupId> <artifactId>service-base</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <!--mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!--mybatis-plus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> </dependency> <!--mybatis-plus 代碼生成器--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> </dependency> <!-- Mybatis Plus 代碼生成器模板引擎, --> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> </dependency> </dependencies>
五、代碼生成器
1、創(chuàng)建數(shù)據(jù)庫(kù)
創(chuàng)建數(shù)據(jù)庫(kù)srb_core
并執(zhí)行sql腳本初始化數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)
2、創(chuàng)建代碼生成器
在test目錄中創(chuàng)建測(cè)試用例,并執(zhí)行
public class CodeGenerator { @Test public void genCode() { // 1、創(chuàng)建代碼生成器 AutoGenerator mpg = new AutoGenerator(); // 2、全局配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); gc.setOutputDir(projectPath + "/src/main/java"); gc.setAuthor("Helen"); gc.setOpen(false); //生成后是否打開資源管理器 gc.setServiceName("%sService"); //去掉Service接口的首字母I gc.setIdType(IdType.AUTO); //主鍵策略 gc.setSwagger2(true);//開啟Swagger2模式 mpg.setGlobalConfig(gc); // 3、數(shù)據(jù)源配置 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.atguigu.srb.core"); pc.setEntity("pojo.entity"); //此對(duì)象與數(shù)據(jù)庫(kù)表結(jié)構(gòu)一一對(duì)應(yīng),通過 DAO 層向上傳輸數(shù)據(jù)源對(duì)象。 mpg.setPackageInfo(pc); // 5、策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setNaming(NamingStrategy.underline_to_camel);//數(shù)據(jù)庫(kù)表映射到實(shí)體的命名策略 strategy.setColumnNaming(NamingStrategy.underline_to_camel);//數(shù)據(jù)庫(kù)表字段映射到實(shí)體的命名策略 strategy.setEntityLombokModel(true); // lombok strategy.setLogicDeleteFieldName("is_deleted");//邏輯刪除字段名 strategy.setEntityBooleanColumnRemoveIsPrefix(true);//去掉布爾值的is_前綴(確保tinyint(1)) strategy.setRestControllerStyle(true); //restful api風(fēng)格控制器 mpg.setStrategy(strategy); // 6、執(zhí)行 mpg.execute(); } }
// 5、策略配置
StrategyConfig strategy = new StrategyConfig(); strategy.setNaming(NamingStrategy.underline_to_camel);//數(shù)據(jù)庫(kù)表映射到實(shí)體的命名策略
strategy.setColumnNaming(NamingStrategy.underline_to_camel);//數(shù)據(jù)庫(kù)表字段映射到實(shí)體的命名策略
strategy.setEntityLombokModel(true); // lombok
strategy.setLogicDeleteFieldName("is_deleted");//邏輯刪除字段名
strategy.setEntityBooleanColumnRemoveIsPrefix(true);//去掉布爾值的is_前綴(確保tinyint(1))
strategy.setRestControllerStyle(true); //restful api風(fēng)格控制器
mpg.setStrategy(strategy);
六、啟動(dòng)應(yīng)用程序
1、創(chuàng)建application.yml
server:
port: 8110 # 服務(wù)端口
spring:
profiles:
active: dev # 環(huán)境設(shè)置
application:
name: service-core # 服務(wù)名
datasource: # mysql數(shù)據(jù)庫(kù)連接
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/atguigu/srb/core/mapper/xml/*.xml
2、創(chuàng)建SpringBoot配置文件
在service-core中創(chuàng)建config包,創(chuàng)建MybatisPlusConfig類
@Configuration @MapperScan("com.atguigu.srb.core.mapper") @EnableTransactionManagement //事務(wù)處理 public class MybatisPlusConfig { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));//分頁(yè) return interceptor; } }
3、創(chuàng)建SpringBoot啟動(dòng)類
注意:掃描com.atguigu.srb
@SpringBootApplication @ComponentScan({"com.atguigu.srb"}) public class ServiceCoreApplication { public static void main(String[] args) { SpringApplication.run(ServiceCoreApplication.class, args); } }
到此這篇關(guān)于Java微服務(wù)實(shí)戰(zhàn)項(xiàng)目尚融寶接口創(chuàng)建詳解的文章就介紹到這了,更多相關(guān)Java尚融寶內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java8?stream流的map()方法你會(huì)使用了嗎
在日常的開發(fā)工作中經(jīng)常碰到要處理list中數(shù)據(jù)的問題。本文主要帶大家了解下Java8?stream流中map()方法的使用,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-12-12Java Fluent Mybatis實(shí)戰(zhàn)之構(gòu)建項(xiàng)目與代碼生成篇上
Java中常用的ORM框架主要是mybatis, hibernate, JPA等框架。國(guó)內(nèi)又以Mybatis用的多,基于mybatis上的增強(qiáng)框架,又有mybatis plus和TK mybatis等。今天我們介紹一個(gè)新的mybatis增強(qiáng)框架 fluent mybatis2021-10-10Java動(dòng)態(tài)編譯執(zhí)行代碼示例
這篇文章主要介紹了Java動(dòng)態(tài)編譯執(zhí)行代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12JDBC的擴(kuò)展知識(shí)點(diǎn)總結(jié)
這篇文章主要介紹了JDBC的擴(kuò)展知識(shí)點(diǎn)總結(jié),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)JDBC的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05spring?boot實(shí)現(xiàn)圖片上傳到后臺(tái)的功能(瀏覽器可直接訪問)
這篇文章主要介紹了spring?boot實(shí)現(xiàn)圖片上傳到后臺(tái)的功能(瀏覽器可直接訪問),需要的朋友可以參考下2022-04-04SpringBoot + JPA @ManyToMany的操作要點(diǎn)說明
這篇文章主要介紹了SpringBoot + JPA @ManyToMany的操作要點(diǎn)說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12