Le printemps n'a pas Pu Résoudre espace réservé

Je suis assez nouveau pour le printemps donc excusez-moi si c'est une question stupide. Lorsque j'essaie de lancer un programme, j'obtiens l'erreur suivante: java.lang.IllegalArgumentException: Could not resolve placeholder 'appclient' in string value [${appclient}]. L'erreur est renvoyée lorsque le code suivant est exécuté:

package ca.virology.lib2.common.config.spring.properties;
import ca.virology.lib2.config.spring.PropertiesConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.PropertySource;

@Configuration
@Import({PropertiesConfig.class})
@PropertySource("${appclient}")
public class AppClientProperties {
private static final Logger log = LoggerFactory.getLogger(AppClientProperties.class);
{
    //this initializer block will execute when an instance of this class is created by Spring
    log.info("Loading AppClientProperties");
}
@Value("${appclient.port:}")
private int appClientPort;

@Value("${appclient.host:}")
private String appClientHost;

public int getAppClientPort() {
    return appClientPort;
}

public String getAppClientHost() {
    return appClientHost;
}
}

Un fichier de propriété appelée appclient.properties existe dans le dossier des ressources avec les informations de l'hôte et le port. Je ne suis pas sûr de l'endroit où le "${appclient}" est définie, si elle est à tous. Peut-être qu'il n'est même pas définie et qui est à l'origine du problème. Ai-je besoin de changer la "${appclient}" à quelque chose comme "{classpath:/appclient.properties}" ou ai-je raté quelque chose?

  • Vous pouvez référencer la PropertySource utilisant classpath sûr: docs.printemps.io/printemps/docs/actuel/javadoc de l'api/org/...
  • J'étais en train d'essayer de lancer ce programme, le nom de 'B' à l'intérieur d'un autre programme, appelé "A". Apparemment, lorsque vous exécutez le programme B individuellement, il obtient le ${appclient} valeur en tant que programme de l'argument; toutefois, cela n'est pas arrivé lorsque j'essaie d'exécuter B à partir de A et a provoqué l'erreur que je recevais.
InformationsquelleAutor Brkk | 2015-02-03