Il mio progetto Maven avere tre moduli, web
, service
, common
avvio primavera leggere il file oggetti di diverso modulo di Maven
Alcune parti del mio progetto come questo:
demo-parent:
--web
--src
--main
--java
--Application.java
--resources
--application.properties
--application-mysql.properties
--service
--common
--src
--main
--java
--ErrorCode.java
--resources
--application-errors.properties
Nel web moudle Application.java
, voglio leggere i contenuti da common
moudle application-errors.properties
.
Ecco il mio ErrorCode.java
in common
:
@Configuration
@EnableAutoConfiguration
@EnableConfigurationProperties
@ConfigurationProperties(locations = "classpath:application-errors.properties")
public class ErrorCode {
private int code;
private String message;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
Perché voglio usare questo application-errors.properties
da web
modulo, quindi in web
moudle, in Application.java
:
@SpringBootApplication
@PropertySources({
@PropertySource("application-mysql.properties"),
@PropertySource("application-errors.properties")
})
@EnableConfigurationProperties({ErrorCode.class})
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication application = new SpringApplication(Application.class);
application.run(args);
}
}
Ora, aggiungo EnableConfigurationProperties
a Application.java
che contiene il metodo main
e posso ottenere chiave e valore da application-errors.properties
f ile, la mia domanda è:
Se voglio richiamare appliction-errors.propertie in altro modulo come il servizio, e il servizio non ho un metodo main, cosa devo fare?
È possibile leggere il file delle proprietà utilizzando la classe java Properties
, ma si desidera utilizzare il modo spring.
Qualsiasi consiglio è benvenuto, grazie in anticipo.
Non dovrebbe essere @PropertySource ("classpath: application-mysql.properties") e @PropertySource ("classpath: application-errors.properties") nel modulo Web? –