通过webmvc-config.xml在Spring boot项目的自定义属性文件中定义的配置不反映一个项目组件
我使用的是Spring boot 1.5.2版。。我知道,我已经很老了 我有多个带有@SpringBootApplication注释的项目组件,因此它们作为单独的应用程序运行。 在所有这些应用程序中,我们在webmvc-config.xml文件中都有一些自定义配置文件,比如这个名为projectscopes.properties的文件-通过webmvc-config.xml在Spring boot项目的自定义属性文件中定义的配置不反映一个项目组件,spring,spring-boot,configuration,Spring,Spring Boot,Configuration,我使用的是Spring boot 1.5.2版。。我知道,我已经很老了 我有多个带有@SpringBootApplication注释的项目组件,因此它们作为单独的应用程序运行。 在所有这些应用程序中,我们在webmvc-config.xml文件中都有一些自定义配置文件,比如这个名为projectscopes.properties的文件- <bean id="propertyConfigurer" class="org.springframework.beans.factor
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
<property name="ignoreResourceNotFound" value="true" />
<property name="locations">
<list>
<value>classpath:/spring/application.properties</value>
<value>classpath:/spring/local.properties</value>
<value>classpath:/spring/netbankingapplication.properties</value>
<value>classpath:/spring/projectscopes.properties</value>
<value> file:${projectname.config.dir}/application.properties </value>
<value>file:${projectname.config.dir}/netbankingapplication.properties</value>
<value>file:${projectname.config.dir}/projectscopes.properties</value>
</list>
</property>
</bean>
<bean id="configProperties"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="ignoreResourceNotFound" value="true" />
<property name="locations">
<list>
<value>classpath:/spring/application.properties</value>
<value>classpath:/spring/local.properties</value>
<value>classpath:/spring/netbankingapplication.properties</value>
<value>classpath:/spring/projectscopes.properties</value>
<value>file:${projectname.config.dir}/application.properties</value>
<value>file:${projectname.config.dir}/netbankingapplication.properties
</value>
<value>file:${projectname.config.dir}/projectscopes.properties</value>
</list>
</property>
</bean>
问题
对其中一个项目的projectscopes.properties所做的更改似乎不起作用。我注释掉了一个现有的API路径,它继续工作。还增加了一个新的,但变化并不反映
原来这个API路径就在那里-
service/some/path/user/details=project_manager;ROLE_PROJECT_MERCHANT_SUPERVISOR;
现在,我将其注释掉并添加了用户/详细信息-
#service/some/path/user/details=project_manager;ROLE_PROJECT_MERCHANT_SUPERVISOR;
service/some/path/user/detailss=project_manager;ROLE_PROJECT_MERCHANT_SUPERVISOR;
但我仍然只能访问用户/详细信息。后者抛出此错误-
{
"timestamp": 1571753007447,
"status": 404,
"error": "Not Found",
"message": "Not Found",
"path": "/service/some/path/user/detailss"
}
我不确定它为什么不读取对projectscopes.properties的更改
不过,对application.properties所做的更改似乎正在运行。它定义了数据库配置
我验证了我正在对正确的projectscopes.properties文件进行更改。给出的配置路径似乎是正确的。当应用程序启动时,我得到以下信息-
spring-boot:run -Dprojectname.config.dir=/Users/sandeepan.nath/Desktop/codebase/root/prepaid/project-prepaid-internal-app/src/main/resources/spring/ ..
我不知道还要检查什么。啊,我知道了。projectscopes.properties中有一个通配符条目-
service/some/path/**=project_manager;ROLE_CITRUSPAY_MERCHANT_SUPERVISOR;
所有的个人声明也都有。那些没有清理
代码更改不会自动应用。我必须运行clean install
。我正在使用Intellij编辑器
service/some/path/**=project_manager;ROLE_CITRUSPAY_MERCHANT_SUPERVISOR;