SpringBoot 解决多模块配置文件@Value()注解找不到配置文件问题解决方案
SpringBoot 解决多模块配置文件@Value()注解找不到配置文件问题解决方案
项目结构
启动模块为spi_wxcp, spi_ldap为ldap功能模块该模块为连接处理AD逻辑模块。2. spi_ldap配置类信息
1234567891011@Configuration@PropertySource(value = "classpath:application-ldap.yml",encoding = "utf-8")public class LdapConfig { @Value("${spring.ldap.urls}") private String ldapUrl; @Value("${spring.ldap.username}") private String userName; @Value("${spring.ldap.password}") priva ...
SpringBoot @Value中文乱码解决
SpringBoot @Value中文乱码解决在使用spring boot开发的时候,有时候我们需要在配置文件application.properties文件中添加中文信息。在代码中使用@value获取.但是有时候会乱码。本文记录解决乱码步骤(使用编辑器是IDEA)。
12#站点信息website.name=凯哥Java
使用这个获取类:
在application.properties文件中添加中文信息
12345678@Configuration//加载配置文件信息@PropertySource(value="classpath:application.properties",encoding = "utf-8")@Datapublic class WebSitConfig { @Value("${website.name}") private String websiteName;}
SpringBoot @Value中文乱码解决 - 云+社区 - 腾讯云
Spring Boot 多模块项目正常启动,但是无法访问Controller问题解决方案
Spring Boot 多模块项目正常启动,但是无法访问Controller问题解决方案问题描述项目正常启动但是访问Controller对应的服务,进行了Debug断点测试,发现没有执行到断点,这个基本上都是Controller没有被Spring注入的问题,经过检查是启动类扫描包没有把Web模块给注入进去,重新添加后重新启动项目就正常了。
解决方案修改前
1@SpringBootApplication(scanBasePackages = {"com.spi.ldap"})
修改后
1@SpringBootApplication(scanBasePackages = {"com.spi.*"})
Alibaba Sentinel 规则持久化 - 推模式 - 手把手教程【基于 Nacos】
本文由 简悦 SimpRead 转码, 原文地址 www.imooc.com
前面,已经为 Sentinel 实现了 基于拉模式的规则持久化 ,本文来实现基于 推模式的规则持久化。 一、推模式架构图 TIPS 图片来自官方。 引用自 https://github
前面,已经为 Sentinel 实现了 基于拉模式的规则持久化 ,本文来实现基于 推模式的规则持久化。
一、推模式架构图
TIPS
图片来自官方。
引用自 https://github.com/alibaba/Sentinel/wiki/在生产环境中使用-Sentinel
二、原理简述
控制台推送规则:
将规则推送到 Nacos 或其他远程配置中心
Sentinel 客户端链接 Nacos,获取规则配置;并监听 Nacos 配置变化,如发生变化,就更新本地缓存(从而让本地缓存总是和 Nacos 一致)
控制台监听 Nacos 配置变化,如发生变化就更新本地缓存(从而让控制台本地缓存总是和 Nacos 一致)
三、微服务改造
加依赖
1234<dependency> <groupId&g ...
Feign常见问题总结_慕课手记
本文由 简悦 SimpRead 转码, 原文地址 www.imooc.com
TIPS 本文基于 Spring Clou Greenwich SR1,理论支持 Spring Cloud Finchley 及更高版本。 本文总结 Feign 常见问题及解决方案。 一、使
TIPS
本文基于 Spring Clou Greenwich SR1,理论支持 Spring Cloud Finchley 及更高版本。
本文总结 Feign 常见问题及解决方案。
一、使用案例
如何使用 Feign 构造多参数的请求
使用 Spring Cloud Feign 上传文件
使用 Feign 实现 Form 表单提交
二、FeignClient 接口如使用@PathVariable ,必须指定 value 属性代码示例:
123456@FeignClient("microservice-provider-user")public interface UserFeignClient { @RequestMapping(value = "/simp ...
Quartz调度失败
最近,线上运行的定时任务出现调度失败。调整了相关参数后,虽然遏制了调度失败的情况,却导致任务调度的延迟极度增加。同时还观察到,在多机部署的环境中,负载极不均匀,于是深入代码排查一番。最近,线上运行的定时任务出现调度失败。调整了相关参数后,虽然遏制了调度失败的情况,却导致任务调度的延迟极度增加。同时还观察到,在多机部署的环境中,负载极不均匀,于是深入代码排查一番。
TL; DR
不要使用 Spring 提供的 org.springframework.scheduling.quartz.SchedulerFactoryBean#setTaskExecutor 方法自定义工作线程池
要注意 Spring 与 Quartz 的部分配置默认值不一致,如 org.quartz.threadPool.class
一般情况下使用 Quartz 提供的 SimpleThreadPool 配合参数 org.quartz.threadPool.threadCount 调整最大线程数即可
如果需要自定义工作线程池,则必须直接实现 org.quartz.spi.ThreadPool 接口,并一定要实现 bloc ...
mybatis-plus报错解决Invalid bound statement (not found)
mybatis-plus报错解决:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题报错
解决思路
检查是不是引入 jar 冲突
检查 Mapper.java 的扫描路径方法一:在 Configuration 类上使用注解 MapperScan
123456@Configuration@MapperScan("com.yourpackage.*.mapper")public class YourConfigClass{ ...}12345
方法二:在Configuration类里面,配置MapperScannerConfigurer
12345678@Beanpublic MapperScannerConfigurer mapperScannerConfigurer(){ MapperScannerConfigurer scannerConfigurer = new MapperScannerConfigurer( ...
Docker 重启no space left on device异常报错解决方案
错误信息12docker restart mysqlError response from daemon: Cannot restart container mysql: mkdir /var/lib/docker/overlay2/eb45ca807d003b4b1520cde30eecaa6cb64d110bc14f8f1e89b41bf3ff347cd7/merged: no space left on device
问题分析Volume硬盘不足需要清理已经停止的容器
解决方法清理所有无用数据卷:
1docker volume prune
Dockerfile自定义SpringBoot项目镜像并运行
Dockerfile编写以SpringBoot项目为例,Dockerfile内容如下:
12345678FROM openjdk:8-jdk-alpineVOLUME /tmpADD spi_task-1.0-SNAPSHOT.jar app.jarRUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeRUN echo 'Asia/Shanghai' >/etc/timezoneENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
代码解析
1FROM openjdk:8-jdk-alpine
指定运行基础镜像为JDK8
1VOLUME /tmp
挂着路径为/tmp
1ADD spi_task-1.0-SNAPSHOT.jar app.jar
指定上传jar包并命名为app.ja ...
Docker Nginx Https配置搭建
拉取Nginx镜像使用最小的Nginx镜像docker pull nginx:alpine
启动Nginxdocker run -d -p 801:80 --name nginx nginx:alpine输入该命令就能创建最简单的一个Nginx服务
获取默认Nginx配置文件由于需要配置
12docker cp nginx:/etc/nginx/nginx.conf $PWD ## copy Nginx容器nginx.conf文件到本地文件下docker cp nginx:/etc/nginx/conf.d $PWD ## copy Nginx容器conf.d文件夹到本地文件下
运行命令1docker run -d -p 8011:80 -p 4443:443 --name aliyun_WebDav_Nginx -v $PWD/nginx.conf:/etc/nginx/nginx.conf -v $PWD/conf.d:/etc/nginx/conf.d -v $PWD/logs:/var/log/nginx -v $PWD/cert:/etc/nginx/cert -e TZ= ...