SpringBoot
commonBean
这个作者很懒,什么都没留下…
展开
-
2个地方使用Springboot的@Scheduled,其中一未生效
第一处使用@Scheduled,是while循环,没有退出的。第二处使用@Scheduled,是每30分钟执行一次。第一处正常执行,第二处就是不执行。原因:schedule默认是单线程的线程池执行,如果某个定时任务耗时很长,到了其他定时任务执行的时间,因为线程未释放,其他定时任务也会无法执行。解决办法:指定线程池大小@Configurationpublic class ScheduleConfig implements SchedulingConfigurer { @Override原创 2021-04-12 17:49:16 · 1043 阅读 · 0 评论 -
@PostConstruct方法内部死循环引起的问题
一个springboot项目,由于该项目部署在微服务环境中,会被定时检测心跳,结果死活检测不到心跳(调用该工程的/health请求)。于是查配置,没发现问题;对比其他工程,也没发现问题;重新部署,还是有问题。无奈之下,只能看代码。当看到一个类的init方法上使用了@PostConstruct注解,就发现不对劲。因为该方法上使用while(true),一直死循环跳不出来,卡在这里了,因此没有启动Tomcat。改掉,重新部署,终于好了!还是需要更多的历练,才能获得更多的经验。...原创 2021-04-08 10:14:03 · 1046 阅读 · 0 评论 -
springboot加载特定的properties配置文件
加载类路径下的全部/特定前缀的properties文件:import org.springframework.beans.factory.config.PropertiesFactoryBean;import org.springframework.context.annotation.Bean;import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import java.io.IOExcep原创 2020-11-19 08:07:51 · 1076 阅读 · 0 评论 -
springboot @Configuration 和 @Import, @EnableAutoConfiguration 注解
【参考】https://blog.csdn.net/Janson_Lin/article/details/87778878@Configuration一般用来声明配置类,可以使用 @Component注解替代,不过使用Configuration注解声明配置类更加语义化。@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Componentpublic @interface Configuration原创 2020-11-08 11:45:27 · 2011 阅读 · 3 评论 -
springboot conditional相关
【参考】https://blog.csdn.net/yhahaha_/article/details/88638490@Conditional和@Condition都是spring的注解, springboot下有@ConditionalOnClass,@ConditionalOnBean,@ConditionalOnMissingBean等注解扩展了其功能.@Conditional注解说明:其参数是实现了Condition接口的类的数组,通常和Condition接口配合使用,只有接口的实现类(一个或原创 2020-11-07 12:25:39 · 163 阅读 · 0 评论 -
springboot没有加载application.yml文件的原因
遇到没有加载application.yml文件的问题,经debug后,发现是ConfigFileApplicationListener类的load方法没有识别到该文件.一番查询资料后发现,多数是由于缺少某些pom依赖,我遇到的问题,是由于缺少snakeyaml依赖.也有缺少spring-boot-autoconfigure或spring-cloud-context依赖的.参考:https://blog.csdn.net/z6165039/article/details/99632629https:/原创 2020-11-06 09:53:49 · 4055 阅读 · 0 评论 -
EnvironmentPostProcessor与spring.factories
// TODO 继续补充主要作用是在springboot启动时做一些后处理吧,这些后处理类不会被实例化.比如EnvironmentPostProcessor的实现类原创 2020-11-03 08:46:01 · 267 阅读 · 0 评论 -
springboot的配置文件优先级,@ConfigurationProperties注解
同一目录/classpath下,properties文件 > yml文件不同目录:验证配置文件顺序(由先到后):file:./config/ (当前项目路径config目录下);file:./ (当前项目路径下);classpath:/config/ (类路径config目录下);classpath:/ (类路径config下).@ConfigurationPropertiesyml文件user: name: zhangsan password: ab.转载 2020-11-02 20:12:13 · 1634 阅读 · 0 评论