diff --git a/springcloud-alibaba/.gitignore b/springcloud-alibaba/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/springcloud-alibaba/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/springcloud-alibaba/README.md b/springcloud-alibaba/README.md new file mode 100644 index 0000000..6f19290 --- /dev/null +++ b/springcloud-alibaba/README.md @@ -0,0 +1,11 @@ +## springcloud-alibaba + +### 介绍 + +> springcloud-alibaba 是一系列组件的集合,它为Spring Cloud提供了许多优秀的补充。 +> 它包括Spring Cloud Gateway、Nacos、Sentinel、Seata、Sentinel等。 +> 这些组件可以提高Spring Cloud应用程序的性能、可靠性、可扩展性和可管理性。 + +官方文档地址: +https://sca.aliyun.com/zh-cn/docs/2022.0.0.0/overview/what-is-sca + diff --git a/springcloud-alibaba/pom.xml b/springcloud-alibaba/pom.xml new file mode 100644 index 0000000..c8337d2 --- /dev/null +++ b/springcloud-alibaba/pom.xml @@ -0,0 +1,84 @@ + + + 4.0.0 + + com.pancm + springcloud-alibaba + 1.0-SNAPSHOT + pom + + + org.springframework.boot + spring-boot-starter-parent + 2.2.1.RELEASE + + + + + 8 + 8 + UTF-8 + 1.7.25 + 1.2.3 + + + springcloud-alibaba + http://maven.apache.org + springcloud-alibaba demo + + + + + springcloud-alibaba-nacos + springcloud-alibaba-sentinel + springcloud-alibaba-seata + springcloud-alibaba-sideca + + + + + + + org.springframework.boot + spring-boot-starter-test + test + + + org.projectlombok + lombok + 1.16.18 + + + + + org.slf4j + slf4j-api + ${slf4j.version} + + + ch.qos.logback + logback-classic + ${logback.version} + + + ch.qos.logback + logback-core + ${logback.version} + + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + + \ No newline at end of file diff --git a/springcloud-alibaba/springcloud-alibaba-nacos/.gitignore b/springcloud-alibaba/springcloud-alibaba-nacos/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-nacos/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/springcloud-alibaba/springcloud-alibaba-nacos/pom.xml b/springcloud-alibaba/springcloud-alibaba-nacos/pom.xml new file mode 100644 index 0000000..a3921c7 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-nacos/pom.xml @@ -0,0 +1,64 @@ + + 4.0.0 + + + + com.pancm + 0.0.1-SNAPSHOT + springcloud-alibaba-nacos + jar + springboot-nacos + http://maven.apache.org + + + + + UTF-8 + UTF-8 + 1.8 + 5.1.44 + 1.2.3 + 1.7.25 + 1.8 + 1.8 + + + + org.springframework.boot + spring-boot-starter-parent + 2.2.1.RELEASE + + + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-test + test + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + 2.2.1.RELEASE + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + 2.2.1.RELEASE + + + + + + + + diff --git a/springcloud-alibaba/springcloud-alibaba-nacos/src/main/java/com/pancm/App.java b/springcloud-alibaba/springcloud-alibaba-nacos/src/main/java/com/pancm/App.java new file mode 100644 index 0000000..bd96876 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-nacos/src/main/java/com/pancm/App.java @@ -0,0 +1,28 @@ +package com.pancm; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + + +/** + * @Author pancm + * @Description springboot集成nacos配置中心 + * @Date 2024/1/26 + * @Param + * @return + **/ +@SpringBootApplication +@EnableDiscoveryClient +public class App +{ + private static final Logger logger = LoggerFactory.getLogger(App.class); + public static void main( String[] args ) + { + // 启动嵌入式的 Tomcat 并初始化 Spring 环境及其各 Spring 组件 + SpringApplication.run(App.class, args); + logger.info("程序启动成功!"); + } +} diff --git a/springcloud-alibaba/springcloud-alibaba-nacos/src/main/java/com/pancm/web/ConfigController.java b/springcloud-alibaba/springcloud-alibaba-nacos/src/main/java/com/pancm/web/ConfigController.java new file mode 100644 index 0000000..166de74 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-nacos/src/main/java/com/pancm/web/ConfigController.java @@ -0,0 +1,42 @@ +package com.pancm.web; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import static org.springframework.web.bind.annotation.RequestMethod.GET; + +/** + * @Author pancm + * @Description 官方示例文档 + * @Date 2024/1/26 + * @Param + * @return + **/ +@RestController +@RequestMapping("config") +@RefreshScope +public class ConfigController { + + + + @Value("${pcm.name:pcm-1001}") + private String name; + + @Value("${pcm.age:18}") + private String age; + + + @RequestMapping(value = "/getAge", method = GET) + public String getAge() { + return age; + } + + @RequestMapping(value = "/getName", method = GET) + public String getName() { + return name; + } + + +} \ No newline at end of file diff --git a/springcloud-alibaba/springcloud-alibaba-nacos/src/main/java/com/pancm/web/DiscoveryController.java b/springcloud-alibaba/springcloud-alibaba-nacos/src/main/java/com/pancm/web/DiscoveryController.java new file mode 100644 index 0000000..1f823c6 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-nacos/src/main/java/com/pancm/web/DiscoveryController.java @@ -0,0 +1,26 @@ +package com.pancm.web; + +import com.alibaba.nacos.api.annotation.NacosInjected; +import com.alibaba.nacos.api.exception.NacosException; +import com.alibaba.nacos.api.naming.NamingService; +import com.alibaba.nacos.api.naming.pojo.Instance; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +import static org.springframework.web.bind.annotation.RequestMethod.GET; + +@RestController +@RequestMapping("discovery") +public class DiscoveryController { + + @NacosInjected + private NamingService namingService; + + @RequestMapping(value = "/get", method = GET) + public List get(@RequestParam String serviceName) throws NacosException { + return namingService.getAllInstances(serviceName); + } +} \ No newline at end of file diff --git a/springcloud-alibaba/springcloud-alibaba-nacos/src/main/resources/bootstrap.properties b/springcloud-alibaba/springcloud-alibaba-nacos/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..1b063f6 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-nacos/src/main/resources/bootstrap.properties @@ -0,0 +1,28 @@ +spring.banner.charset=UTF-8 +server.tomcat.uri-encoding=UTF-8 +spring.http.encoding.charset=UTF-8 +spring.http.encoding.enabled=true +spring.http.encoding.force=true +spring.messages.encoding=UTF-8 +server.port=8299 +spring.application.name=springboot-nacos +spring.profiles.active=dev + + +# nacos?? +nacos.discovery.autoRegister=true +spring.cloud.nacos.discovery.server-addr= http://127.0.0.1:8848 +spring.cloud.nacos.config.server-addr= http://127.0.0.1:8848 +spring.cloud.nacos.config.namespace= pcm-namespace--id +spring.cloud.nacos.config.group= dev +spring.cloud.nacos.config.fileExtension= properties + + +# ?????? +##???????????dataId +spring.cloud.nacos.config.extension-configs[0].data-id=pcm-dev.properties +##????????????? +spring.cloud.nacos.config.extension-configs[0].group=dev + + + diff --git a/springcloud-alibaba/springcloud-alibaba-nacos/src/main/resources/logback.xml b/springcloud-alibaba/springcloud-alibaba-nacos/src/main/resources/logback.xml new file mode 100644 index 0000000..583ef76 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-nacos/src/main/resources/logback.xml @@ -0,0 +1,32 @@ + + + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + + + + + ${LOG_HOME}/mylog-%d{yyyy-MM-dd}.%i.txt + + 10MB + 31 + 10GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + + + + + + + + \ No newline at end of file diff --git a/springcloud-alibaba/springcloud-alibaba-nacos/src/main/resources/pcm.properties b/springcloud-alibaba/springcloud-alibaba-nacos/src/main/resources/pcm.properties new file mode 100644 index 0000000..89f7155 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-nacos/src/main/resources/pcm.properties @@ -0,0 +1 @@ +pcm.age = 24 \ No newline at end of file diff --git a/springcloud-alibaba/springcloud-alibaba-seata/.gitignore b/springcloud-alibaba/springcloud-alibaba-seata/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-seata/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/springcloud-alibaba/springcloud-alibaba-seata/pom.xml b/springcloud-alibaba/springcloud-alibaba-seata/pom.xml new file mode 100644 index 0000000..b1f5813 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-seata/pom.xml @@ -0,0 +1,64 @@ + + 4.0.0 + + + + com.pancm + 0.0.1-SNAPSHOT + springcloud-alibaba-seata + jar + springboot-nacos + http://maven.apache.org + + + + + UTF-8 + UTF-8 + 1.8 + 5.1.44 + 1.2.3 + 1.7.25 + 1.8 + 1.8 + + + + org.springframework.boot + spring-boot-starter-parent + 2.2.1.RELEASE + + + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-test + test + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + 2.2.1.RELEASE + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + 2.2.1.RELEASE + + + + + + + + diff --git a/springcloud-alibaba/springcloud-alibaba-seata/src/main/java/com/pancm/App.java b/springcloud-alibaba/springcloud-alibaba-seata/src/main/java/com/pancm/App.java new file mode 100644 index 0000000..bd96876 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-seata/src/main/java/com/pancm/App.java @@ -0,0 +1,28 @@ +package com.pancm; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + + +/** + * @Author pancm + * @Description springboot集成nacos配置中心 + * @Date 2024/1/26 + * @Param + * @return + **/ +@SpringBootApplication +@EnableDiscoveryClient +public class App +{ + private static final Logger logger = LoggerFactory.getLogger(App.class); + public static void main( String[] args ) + { + // 启动嵌入式的 Tomcat 并初始化 Spring 环境及其各 Spring 组件 + SpringApplication.run(App.class, args); + logger.info("程序启动成功!"); + } +} diff --git a/springcloud-alibaba/springcloud-alibaba-seata/src/main/java/com/pancm/web/ConfigController.java b/springcloud-alibaba/springcloud-alibaba-seata/src/main/java/com/pancm/web/ConfigController.java new file mode 100644 index 0000000..166de74 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-seata/src/main/java/com/pancm/web/ConfigController.java @@ -0,0 +1,42 @@ +package com.pancm.web; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import static org.springframework.web.bind.annotation.RequestMethod.GET; + +/** + * @Author pancm + * @Description 官方示例文档 + * @Date 2024/1/26 + * @Param + * @return + **/ +@RestController +@RequestMapping("config") +@RefreshScope +public class ConfigController { + + + + @Value("${pcm.name:pcm-1001}") + private String name; + + @Value("${pcm.age:18}") + private String age; + + + @RequestMapping(value = "/getAge", method = GET) + public String getAge() { + return age; + } + + @RequestMapping(value = "/getName", method = GET) + public String getName() { + return name; + } + + +} \ No newline at end of file diff --git a/springcloud-alibaba/springcloud-alibaba-seata/src/main/java/com/pancm/web/DiscoveryController.java b/springcloud-alibaba/springcloud-alibaba-seata/src/main/java/com/pancm/web/DiscoveryController.java new file mode 100644 index 0000000..1f823c6 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-seata/src/main/java/com/pancm/web/DiscoveryController.java @@ -0,0 +1,26 @@ +package com.pancm.web; + +import com.alibaba.nacos.api.annotation.NacosInjected; +import com.alibaba.nacos.api.exception.NacosException; +import com.alibaba.nacos.api.naming.NamingService; +import com.alibaba.nacos.api.naming.pojo.Instance; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +import static org.springframework.web.bind.annotation.RequestMethod.GET; + +@RestController +@RequestMapping("discovery") +public class DiscoveryController { + + @NacosInjected + private NamingService namingService; + + @RequestMapping(value = "/get", method = GET) + public List get(@RequestParam String serviceName) throws NacosException { + return namingService.getAllInstances(serviceName); + } +} \ No newline at end of file diff --git a/springcloud-alibaba/springcloud-alibaba-seata/src/main/resources/bootstrap.properties b/springcloud-alibaba/springcloud-alibaba-seata/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..1b063f6 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-seata/src/main/resources/bootstrap.properties @@ -0,0 +1,28 @@ +spring.banner.charset=UTF-8 +server.tomcat.uri-encoding=UTF-8 +spring.http.encoding.charset=UTF-8 +spring.http.encoding.enabled=true +spring.http.encoding.force=true +spring.messages.encoding=UTF-8 +server.port=8299 +spring.application.name=springboot-nacos +spring.profiles.active=dev + + +# nacos?? +nacos.discovery.autoRegister=true +spring.cloud.nacos.discovery.server-addr= http://127.0.0.1:8848 +spring.cloud.nacos.config.server-addr= http://127.0.0.1:8848 +spring.cloud.nacos.config.namespace= pcm-namespace--id +spring.cloud.nacos.config.group= dev +spring.cloud.nacos.config.fileExtension= properties + + +# ?????? +##???????????dataId +spring.cloud.nacos.config.extension-configs[0].data-id=pcm-dev.properties +##????????????? +spring.cloud.nacos.config.extension-configs[0].group=dev + + + diff --git a/springcloud-alibaba/springcloud-alibaba-seata/src/main/resources/logback.xml b/springcloud-alibaba/springcloud-alibaba-seata/src/main/resources/logback.xml new file mode 100644 index 0000000..583ef76 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-seata/src/main/resources/logback.xml @@ -0,0 +1,32 @@ + + + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + + + + + ${LOG_HOME}/mylog-%d{yyyy-MM-dd}.%i.txt + + 10MB + 31 + 10GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + + + + + + + + \ No newline at end of file diff --git a/springcloud-alibaba/springcloud-alibaba-seata/src/main/resources/pcm.properties b/springcloud-alibaba/springcloud-alibaba-seata/src/main/resources/pcm.properties new file mode 100644 index 0000000..89f7155 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-seata/src/main/resources/pcm.properties @@ -0,0 +1 @@ +pcm.age = 24 \ No newline at end of file diff --git a/springcloud-alibaba/springcloud-alibaba-sentinel/.gitignore b/springcloud-alibaba/springcloud-alibaba-sentinel/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-sentinel/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/springcloud-alibaba/springcloud-alibaba-sentinel/pom.xml b/springcloud-alibaba/springcloud-alibaba-sentinel/pom.xml new file mode 100644 index 0000000..e1c0d84 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-sentinel/pom.xml @@ -0,0 +1,74 @@ + + 4.0.0 + + + + com.pancm + 0.0.1-SNAPSHOT + springcloud-alibaba-sentinel + jar + springboot-nacos + http://maven.apache.org + + + + + UTF-8 + UTF-8 + 1.8 + 5.1.44 + 1.2.3 + 1.7.25 + 1.8 + 1.8 + + + + org.springframework.boot + spring-boot-starter-parent + 2.2.1.RELEASE + + + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + 2.2.1.RELEASE + + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + + + + + + diff --git a/springcloud-alibaba/springcloud-alibaba-sentinel/src/main/java/com/pancm/App.java b/springcloud-alibaba/springcloud-alibaba-sentinel/src/main/java/com/pancm/App.java new file mode 100644 index 0000000..bd96876 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-sentinel/src/main/java/com/pancm/App.java @@ -0,0 +1,28 @@ +package com.pancm; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + + +/** + * @Author pancm + * @Description springboot集成nacos配置中心 + * @Date 2024/1/26 + * @Param + * @return + **/ +@SpringBootApplication +@EnableDiscoveryClient +public class App +{ + private static final Logger logger = LoggerFactory.getLogger(App.class); + public static void main( String[] args ) + { + // 启动嵌入式的 Tomcat 并初始化 Spring 环境及其各 Spring 组件 + SpringApplication.run(App.class, args); + logger.info("程序启动成功!"); + } +} diff --git a/springcloud-alibaba/springcloud-alibaba-sentinel/src/main/java/com/pancm/web/HelloController.java b/springcloud-alibaba/springcloud-alibaba-sentinel/src/main/java/com/pancm/web/HelloController.java new file mode 100644 index 0000000..2f8c9bb --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-sentinel/src/main/java/com/pancm/web/HelloController.java @@ -0,0 +1,33 @@ +package com.pancm.web; + + + +import com.alibaba.csp.sentinel.annotation.SentinelResource; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import static org.springframework.web.bind.annotation.RequestMethod.GET; + +/** + * @Author pancm + * @Description 官方示例文档 + * @Date 2024/1/26 + * @Param + * @return + **/ +@RestController +@RequestMapping("hello") +public class HelloController { + + + + + + @RequestMapping(value = "/say", method = GET) + @SentinelResource("hello") + public String say(@RequestParam String name) { + return "say "+name+ " hello !"; + } + +} \ No newline at end of file diff --git a/springcloud-alibaba/springcloud-alibaba-sentinel/src/main/resources/application.properties b/springcloud-alibaba/springcloud-alibaba-sentinel/src/main/resources/application.properties new file mode 100644 index 0000000..45b8a74 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-sentinel/src/main/resources/application.properties @@ -0,0 +1,16 @@ +spring.banner.charset=UTF-8 +server.tomcat.uri-encoding=UTF-8 +spring.http.encoding.charset=UTF-8 +spring.http.encoding.enabled=true +spring.http.encoding.force=true +spring.messages.encoding=UTF-8 +server.port=8301 +spring.application.name=springcloud-alibaba-sentinel +spring.profiles.active=dev +### 控制台地址 +spring.sentinel.transport.port= 8719 +spring.sentinel.transport.dashboard= localhost:8888 + + + + diff --git a/springcloud-alibaba/springcloud-alibaba-sentinel/src/main/resources/logback.xml b/springcloud-alibaba/springcloud-alibaba-sentinel/src/main/resources/logback.xml new file mode 100644 index 0000000..583ef76 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-sentinel/src/main/resources/logback.xml @@ -0,0 +1,32 @@ + + + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + + + + + ${LOG_HOME}/mylog-%d{yyyy-MM-dd}.%i.txt + + 10MB + 31 + 10GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + + + + + + + + \ No newline at end of file diff --git a/springcloud-alibaba/springcloud-alibaba-sideca/.gitignore b/springcloud-alibaba/springcloud-alibaba-sideca/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-sideca/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/springcloud-alibaba/springcloud-alibaba-sideca/pom.xml b/springcloud-alibaba/springcloud-alibaba-sideca/pom.xml new file mode 100644 index 0000000..c0b3321 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-sideca/pom.xml @@ -0,0 +1,75 @@ + + 4.0.0 + + + + com.pancm + 0.0.1-SNAPSHOT + springcloud-alibaba-sideca + jar + springboot-nacos + http://maven.apache.org + + + + + UTF-8 + UTF-8 + 1.8 + 5.1.44 + 1.2.3 + 1.7.25 + 1.8 + 1.8 + + + + org.springframework.boot + spring-boot-starter-parent + 2.2.1.RELEASE + + + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + org.springframework.cloud + spring-cloud-starter-gateway + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sidecar + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + 2.2.1.RELEASE + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + 2.2.1.RELEASE + + + + + + + + diff --git a/springcloud-alibaba/springcloud-alibaba-sideca/src/main/java/com/pancm/App.java b/springcloud-alibaba/springcloud-alibaba-sideca/src/main/java/com/pancm/App.java new file mode 100644 index 0000000..bd96876 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-sideca/src/main/java/com/pancm/App.java @@ -0,0 +1,28 @@ +package com.pancm; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + + +/** + * @Author pancm + * @Description springboot集成nacos配置中心 + * @Date 2024/1/26 + * @Param + * @return + **/ +@SpringBootApplication +@EnableDiscoveryClient +public class App +{ + private static final Logger logger = LoggerFactory.getLogger(App.class); + public static void main( String[] args ) + { + // 启动嵌入式的 Tomcat 并初始化 Spring 环境及其各 Spring 组件 + SpringApplication.run(App.class, args); + logger.info("程序启动成功!"); + } +} diff --git a/springcloud-alibaba/springcloud-alibaba-sideca/src/main/java/com/pancm/web/ConfigController.java b/springcloud-alibaba/springcloud-alibaba-sideca/src/main/java/com/pancm/web/ConfigController.java new file mode 100644 index 0000000..166de74 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-sideca/src/main/java/com/pancm/web/ConfigController.java @@ -0,0 +1,42 @@ +package com.pancm.web; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import static org.springframework.web.bind.annotation.RequestMethod.GET; + +/** + * @Author pancm + * @Description 官方示例文档 + * @Date 2024/1/26 + * @Param + * @return + **/ +@RestController +@RequestMapping("config") +@RefreshScope +public class ConfigController { + + + + @Value("${pcm.name:pcm-1001}") + private String name; + + @Value("${pcm.age:18}") + private String age; + + + @RequestMapping(value = "/getAge", method = GET) + public String getAge() { + return age; + } + + @RequestMapping(value = "/getName", method = GET) + public String getName() { + return name; + } + + +} \ No newline at end of file diff --git a/springcloud-alibaba/springcloud-alibaba-sideca/src/main/java/com/pancm/web/DiscoveryController.java b/springcloud-alibaba/springcloud-alibaba-sideca/src/main/java/com/pancm/web/DiscoveryController.java new file mode 100644 index 0000000..1f823c6 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-sideca/src/main/java/com/pancm/web/DiscoveryController.java @@ -0,0 +1,26 @@ +package com.pancm.web; + +import com.alibaba.nacos.api.annotation.NacosInjected; +import com.alibaba.nacos.api.exception.NacosException; +import com.alibaba.nacos.api.naming.NamingService; +import com.alibaba.nacos.api.naming.pojo.Instance; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +import static org.springframework.web.bind.annotation.RequestMethod.GET; + +@RestController +@RequestMapping("discovery") +public class DiscoveryController { + + @NacosInjected + private NamingService namingService; + + @RequestMapping(value = "/get", method = GET) + public List get(@RequestParam String serviceName) throws NacosException { + return namingService.getAllInstances(serviceName); + } +} \ No newline at end of file diff --git a/springcloud-alibaba/springcloud-alibaba-sideca/src/main/resources/bootstrap.properties b/springcloud-alibaba/springcloud-alibaba-sideca/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..1b063f6 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-sideca/src/main/resources/bootstrap.properties @@ -0,0 +1,28 @@ +spring.banner.charset=UTF-8 +server.tomcat.uri-encoding=UTF-8 +spring.http.encoding.charset=UTF-8 +spring.http.encoding.enabled=true +spring.http.encoding.force=true +spring.messages.encoding=UTF-8 +server.port=8299 +spring.application.name=springboot-nacos +spring.profiles.active=dev + + +# nacos?? +nacos.discovery.autoRegister=true +spring.cloud.nacos.discovery.server-addr= http://127.0.0.1:8848 +spring.cloud.nacos.config.server-addr= http://127.0.0.1:8848 +spring.cloud.nacos.config.namespace= pcm-namespace--id +spring.cloud.nacos.config.group= dev +spring.cloud.nacos.config.fileExtension= properties + + +# ?????? +##???????????dataId +spring.cloud.nacos.config.extension-configs[0].data-id=pcm-dev.properties +##????????????? +spring.cloud.nacos.config.extension-configs[0].group=dev + + + diff --git a/springcloud-alibaba/springcloud-alibaba-sideca/src/main/resources/logback.xml b/springcloud-alibaba/springcloud-alibaba-sideca/src/main/resources/logback.xml new file mode 100644 index 0000000..583ef76 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-sideca/src/main/resources/logback.xml @@ -0,0 +1,32 @@ + + + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + + + + + ${LOG_HOME}/mylog-%d{yyyy-MM-dd}.%i.txt + + 10MB + 31 + 10GB + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + + + + + + + + \ No newline at end of file diff --git a/springcloud-alibaba/springcloud-alibaba-sideca/src/main/resources/pcm.properties b/springcloud-alibaba/springcloud-alibaba-sideca/src/main/resources/pcm.properties new file mode 100644 index 0000000..89f7155 --- /dev/null +++ b/springcloud-alibaba/springcloud-alibaba-sideca/src/main/resources/pcm.properties @@ -0,0 +1 @@ +pcm.age = 24 \ No newline at end of file