java - Spring loading beans which are based on application.properties from a sub-module -


i have 2 spring modules, parent module has child modules dependency. both projects has own spring annotated beans , beans created using @bean. project child has child.properties in ressources, file used set properties bean in child project. project parent has own parent.properties used create beans in parent projects.

=> each 2 projects has serviceconfig class annotated @configuration use:

parent:

@bean public static propertyplaceholderconfigurer configuration(){         final propertyplaceholderconfigurer props=new propertyplaceholderconfigurer();         props.setlocations(new resource[]{new classpathresource("parent.properties")});         return props;     } 

child:

@bean public static propertyplaceholderconfigurer configuration(){         final propertyplaceholderconfigurer props=new propertyplaceholderconfigurer();         props.setlocations(new resource[]{new classpathresource("child.properties")});         return props;     } 

now question is: need autowire bean child parent project , when run parent project (which has child project dependency in pom.xml), child bean autowired couldn't constructed because child.properties aren't loaded. , when debuged see spring enter in propertyplaceholderconfigurer bean parent not child. , when remove propertyplaceholderconfigurer parent, spring loads propertyplaceholderconfigurer bean child project.

i can resolve issue placing child.properties file in parent project don't solution, keep each configuration project.

since have same bean name both propertyplaceholderconfigurer beans, child bean overridden parent 1 (if you'll closely in log, you'll see stated there) try giving them different names


Comments

Popular posts from this blog

c# - Binding a comma separated list to a List<int> in asp.net web api -

Delphi 7 and decode UTF-8 base64 -

html - Is there any way to exclude a single element from the style? (Bootstrap) -