Kitty-Cloud服务搭建过程剖析 (2)

包装。

provider依赖 <dependencies> <dependency> <groupId>com.cxytiandi</groupId> <artifactId>kitty-cloud-article-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>com.cxytiandi</groupId> <artifactId>kitty-cloud-article-biz</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>

kitty-cloud-article-api:依赖api定义模块。

kitty-cloud-article-biz:依赖业务逻辑模块。

spring-boot-starter-test:单元测试依赖。

服务启动

provider作为服务的启动模块,依赖了api和biz。我们在provider中创建App启动类。

/** * 文章服务启动类 * * @作者 尹吉欢 * @个人微信 jihuan900 * @微信公众号 猿天地 * @GitHub https://github.com/yinjihuan * @作者介绍 * @时间 2020-02-12 20:01:04 */ @EnableSwagger2Doc @MapperScan("com.cxytiandi.kittycloud.article.biz.dao") @EnableDiscoveryClient @EnableCreateCacheAnnotation @EnableMethodCache(basePackages = "com.cxytiandi.kittycloud.article.biz.manager") @SpringBootApplication(scanBasePackages = {"com.cxytiandi.kittycloud.article","com.cxytiandi.kitty.web.config"}) public class KittyCloudArticleProviderApp { public static void main(String[] args) { SpringApplication.run(KittyCloudArticleProviderApp.class); } }

@EnableSwagger2Doc:启用Swagger。

@MapperScan:Mybatis Mapper包扫描路径。

@EnableDiscoveryClient:启用服务发现。

@EnableCreateCacheAnnotation:jetCache中启用注解创建缓存,比如 @CreateCache。

@EnableMethodCache:jetCache中启用启用方法上注解缓存,比如 @Cache。

@SpringBootApplication:Spring Boot核心注解,主要关注下scanBasePackages里面的值,如果不配置,默认扫描启动类所在包的路径以及子路径。

配置了就按配置的来,因为我们的启动类在provider中,provider中的包名无法包含api和biz。

比如:

com.cxytiandi.kittycloud.article.api com.cxytiandi.kittycloud.article.biz com.cxytiandi.kittycloud.article.provider

如果不手动指定scanBasePackages=com.cxytiandi.kittycloud.article的话就无法扫描api和biz。只能扫描到com.cxytiandi.kittycloud.article.provider。

com.cxytiandi.kitty.web.config是web模块中有对Swagger静态资源映射的配置,也需要扫描到。

服务配置

resources --> META-INF --> app.properties

# Cat中的应用名称 app.name=kitty-cloud-article-provider

resources --> bootstrap.properties

# 服务名 spring.application.name=kitty-cloud-article-provider # dubbo配置 dubbo.scan.base-packages=com.cxytiandi.kittycloud.article.provider.service dubbo.protocol.name=dubbo dubbo.protocol.port=20081 dubbo.registry.address=spring-cloud://localhost # nacos注册服务端地址 spring.cloud.nacos.discovery.server-addr=47.105.66.210:8848 # nacos配置服务端地址 spring.cloud.nacos.config.server-addr=${spring.cloud.nacos.discovery.server-addr} # sentinel数据源地址 spring.cloud.sentinel.datasource.nacos.server-addr=${spring.cloud.nacos.discovery.server-addr} # mysql配置信息(原始配置在Nacos中存储) spring.cloud.nacos.config.ext-config[0].data-id=kitty-cloud-mysql.properties spring.cloud.nacos.config.ext-config[0].group=MIDDLEWARE_GROUP spring.cloud.nacos.config.ext-config[0].refresh=true # 应用配置信息(原始配置在Nacos中存储) spring.cloud.nacos.config.ext-config[1].data-id=kitty-cloud-article-provider-application.properties spring.cloud.nacos.config.ext-config[1].group=APPLICATION_GROUP spring.cloud.nacos.config.ext-config[1].refresh=true # jetcache配置信息(原始配置在Nacos中存储) spring.cloud.nacos.config.ext-config[2].data-id=kitty-cloud-redis-jetcache.properties spring.cloud.nacos.config.ext-config[2].group=MIDDLEWARE_GROUP spring.cloud.nacos.config.ext-config[2].refresh=true # sentinel配置信息(原始配置在Nacos中存储) spring.cloud.nacos.config.ext-config[3].data-id=kitty-cloud-sentinel.properties spring.cloud.nacos.config.ext-config[3].group=MIDDLEWARE_GROUP spring.cloud.nacos.config.ext-config[3].refresh=true # redisson配置信息(原始配置在Nacos中存储) spring.cloud.nacos.config.ext-config[4].data-id=kitty-cloud-redis-redisson.properties spring.cloud.nacos.config.ext-config[4].group=MIDDLEWARE_GROUP spring.cloud.nacos.config.ext-config[4].refresh=true

resources --> logback.xml

<appender></appender> <root level="INFO"> <appender-ref ref="CatAppender" /> </root>

logback主要关注的就是这个CatAppender,不配置CatAppender的话当程序报错的时候,error级别的日志无法接入Cat。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyyyyd.html