?一九火、新建spring boot微服務(wù)模塊
1)在pigx下鼠標(biāo)右鍵新建目錄: my-demo
2)新建module
二序目、刪除多余文件或目錄
my-demo/.mvn
my-demo/mvnw.cmd
my-demo/mvnw
my-demo/src/main/resources/application.properties
my-demo/HELP.md
my-demo/.gitignore
my-demo/my-demo.iml
my-demo/src/test
三卸伞、修改pom文件
1)pom.xml
特別注意 模塊的版本號一定要注釋掉速缨,不然在集成mybatis-plus時會報異常
Unsatisfied dependency expressed through field 'baseMapper'; nested exception
就算加上
<properties>
? ? ? ? <pigx.version>3.0.0</pigx.version>
?</properties>
然后在應(yīng)用pigx公共類庫時
<dependency>
? ? ? ? ? ? <groupId>com.pig4cloud</groupId>
? ? ? ? ? ? <artifactId>pigx-common-data</artifactId>
? ? ? ? ? ? <version>${pigx.version}</version>
</dependency>
也會報錯
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
? ? ? ? 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>
? ? <parent>
? ? ? ? <groupId>com.pig4cloud</groupId>
? ? ? ? <artifactId>pigx</artifactId>
? ? ? ? <version>3.0.0</version>
? ? </parent>
? ? <artifactId>my-demo</artifactId>
? ? <!--<version>0.0.1</version>-->
? ? <packaging>jar</packaging>
? ? <description>在pigx-visual之外構(gòu)建微服務(wù)</description>
? ? <dependencies>
? ? ? ? <!--必須:nacos注冊中心客戶端-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>org.springframework.cloud</groupId>
? ? ? ? ? ? <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
? ? ? ? </dependency>
? ? ? ? <!--必須:nacos配置中心客戶端-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>org.springframework.cloud</groupId>
? ? ? ? ? ? <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
? ? ? ? </dependency>
? ? ? ? <!--必備:spring-boot web 模塊-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? ? ? <artifactId>spring-boot-starter-web</artifactId>
? ? ? ? </dependency>
? ? ? ? <!--是否需要:undertow容器褒翰,靈活的高性能Web服務(wù)器欲间,提供包括阻塞和基于NIO的非阻塞機(jī)制-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? ? ? <artifactId>spring-boot-starter-undertow</artifactId>
? ? ? ? </dependency>
? ? ? ? <!--mybatis-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>com.baomidou</groupId>
? ? ? ? ? ? <artifactId>mybatis-plus-boot-starter</artifactId>
? ? ? ? </dependency>
? ? ? ? <!--數(shù)據(jù)庫-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>mysql</groupId>
? ? ? ? ? ? <artifactId>mysql-connector-java</artifactId>
? ? ? ? </dependency>
? ? ? ? <!--必備:pigx數(shù)據(jù)操作-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>com.pig4cloud</groupId>
? ? ? ? ? ? <artifactId>pigx-common-data</artifactId>
? ? ? ? </dependency>
? ? ? ? <!--必備:pigx common核心-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>com.pig4cloud</groupId>
? ? ? ? ? ? <artifactId>pigx-common-core</artifactId>
? ? ? ? </dependency>
? ? ? ? <!--必備:pigx安全模塊-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>com.pig4cloud</groupId>
? ? ? ? ? ? <artifactId>pigx-common-security</artifactId>
? ? ? ? </dependency>
? ? ? ? <!--必備:pigx日志-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>com.pig4cloud</groupId>
? ? ? ? ? ? <artifactId>pigx-common-log</artifactId>
? ? ? ? </dependency>
? ? ? ? <!--推薦:pigx swagger api調(diào)試接入-->
? ? ? ? <dependency>
? ? ? ? ? ? <groupId>com.pig4cloud</groupId>
? ? ? ? ? ? <artifactId>pigx-common-swagger</artifactId>
? ? ? ? </dependency>
? ? </dependencies>
? ? <build>
? ? ? ? <plugins>
? ? ? ? ? ? <plugin>
? ? ? ? ? ? ? ? <groupId>org.springframework.boot</groupId>
? ? ? ? ? ? ? ? <artifactId>spring-boot-maven-plugin</artifactId>
? ? ? ? ? ? </plugin>
? ? ? ? ? ? <plugin>
? ? ? ? ? ? ? ? <groupId>com.spotify</groupId>
? ? ? ? ? ? ? ? <artifactId>docker-maven-plugin</artifactId>
? ? ? ? ? ? </plugin>
? ? ? ? </plugins>
? ? </build>
</project>
2)pigx的pom.xml(父模塊增加子模塊配置)中增加my-demo
<modules>
????<module>pigx-register</module>
????<module>pigx-gateway</module>
????<module>pigx-auth</module>
????<module>pigx-upms</module>
????<module>pigx-common</module>
????<module>pigx-visual</module>
????<module>my-demo</module>
</modules>
四楚里、新增配置文件
1)my-demo/src/main/resources/bootstrap.yml
server:
? *#? 端口不能與其他模塊沖突*
*? *port: 5004
spring:
? application:
? ? name: @artifactId@
? cloud:
? ? nacos:
? ? ? discovery:
? ? ? ? server-addr: ${NACOS-HOST:pigx-register}:${NACOS-PORT:8848}
? ? ? config:
? ? ? ? server-addr: ${spring.cloud.nacos.discovery.server-addr}
? ? ? ? file-extension: yml
? ? ? ? shared-dataids: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
? profiles:
? ? active: dev
2)nacos配置中心新建 my-demo-dev.yml
## spring security 配置
security:
? oauth2:
? ? client:
? ? ? # 配置后才能認(rèn)證,生產(chǎn)環(huán)境建議設(shè)置獨(dú)立的客戶端信息
? ? ? client-id: ENC(gPFcUOmJm8WqM3k3eSqS0Q==)
? ? ? client-secret: ENC(gPFcUOmJm8WqM3k3eSqS0Q==)
? ? ? scope: server
3)啟動前端配置路由
五猎贴、修改main方法
package com.mycompany.mydemo;
import com.pig4cloud.pigx.common.security.annotation.EnablePigxFeignClients;
import com.pig4cloud.pigx.common.security.annotation.EnablePigxResourceServer;
import com.pig4cloud.pigx.common.swagger.annotation.EnablePigxSwagger2;
import org.springframework.boot.SpringApplication;
import org.springframework.cloud.client.SpringCloudApplication;
@EnablePigxSwagger2
@SpringCloudApplication
@EnablePigxFeignClients
@EnablePigxResourceServer
public class MyDemoApplication {
? ? public static void main(String[] args) {
? ? ? ? SpringApplication.run(MyDemoApplication.class, args);
? ? }
}
六班缎、創(chuàng)建Controller
package com.mycompany.mydemo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/demo")
public class DemoController {
? ? @GetMapping("/hello")
? ? public String Hello() {
? ? ? ? return "hello demo";
? ? }
}
七、重啟gateway她渴,再啟動MyDemoApplication
啟動后使用swagger進(jìn)行api測試
http://pigx-gateway:9999/swagger-ui.html?urls.primaryName=my-demo