Springboot Filter中注入bean 无效为null
问题原因:
Web应用的启动顺序是:Lisenter->Fliter->Servlet, 应用程序上下文, 初始化 Fliter的时候,还没有初始化Servlert,所有没有进入DispacterServlet的初始化,故在Fliter中使用注解注入bean为空;
解决办法:
添加初始化bean配置,手动创建对象new
springboot中的配置文件server.context-path不起作用
因为spring boot版本问题导致的!!现在用的比较新的版本在2.0以上!以前是1.0-2.0之间的.server.context-path=/XXXXX
1 | /XXXXX # 2.0以上 = |
springboot无法完成变量从pom到.properties文件自动替换的问题
我在maven的pom文件中进行了多环境变量配置,引用了maven-resources-plugin,在application.properties文件中通过以下配置指定不同环境下的配置文件,
1 | ${profiles.active} = |
但是${profiles.active}无法从pom文件中获取变量值替换
由于
${}
方式会被maven处理。如果你pom继承了spring-boot-starter-parent
,Spring
Boot已经将maven-resources-plugins默认的${}
方式改为了@@
方式,如@name@
1 | spring: |
1 | <properties> |
如果还想继续使用${}占位符方式,只需要在pom文件中加上下面配置即可:
1 | <plugin> |
1 | # #tag.tagid,不能使用 #{tag.tagid} |
较新版的Spring Boot取消了@SpringApplicationConfiguration
这个注解,用@SpringBootTest
就可以了