Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

380
Visualizações
Spring Boot: inyecta el mapa desde el archivo de propiedades

archivo de propiedades se ve así:

 url1=path_to_binary1 url2=path_to_binary2

De acuerdo con esto , probé el siguiente enfoque:

 @Component @EnableConfigurationProperties public class ApplicationProperties { private Map<String, String> pathMapper; //get and set }

y en otro componente conecté automáticamente ApplicationProperties:

 @Autowired private ApplicationProperties properties; //inside some method: properties.getPathMapper().get(appName);

produce NullPointerException .

¿Cómo corregirlo?

actualizar

Tengo el consejo correcto según el usuario 7757360:

 @Component @EnableConfigurationProperties @ConfigurationProperties(prefix="app") public class ApplicationProperties {

y archivo de propiedades:

 app.url1=path_to_binary1 app.url2=path_to_binary2

todavía no funciona

Actualización 2

 @Component @EnableConfigurationProperties @ConfigurationProperties(prefix="app") public class ApplicationProperties { private Map<String, String> app;

y dentro application.properties :

 app.url1=path_to_binary1 app.url2=path_to_binary2

todavía no funciona

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

sería útil si pudiera dar un ejemplo más específico para el archivo de propiedad. Debe tener el mismo prefijo en url1 y url2 y luego puede usar

@ConfigurationProperties(prefix="my")

como en

my.pathMapper.url1=path_to_binary1 my.pathMapper.url2=path_to_binary2

 @Component @EnableConfigurationProperties @ConfigurationProperties(prefix="my") public class ApplicationProperties { private Map<String, String> pathMapper; //get and set for pathMapper are important }

ver más en https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-loading-yaml

over 4 years ago · Santiago Trujillo Relatório

0

NullPointerException es probablemente de ApplicationProperties vacío.

Todas las propiedades personalizadas deben anotarse como @ConfigurationProperties(prefix="custom") . Después de eso, en su clase principal (clase con método principal) debe agregar @EnableConfigurationProperties(CustomProperties.class) . Para autocompletar puedes usar:

 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>

Si usa @ConfigurationProperties sin prefijo, solo usa el nombre del campo. Nombre del campo en sus propiedades. En su caso path-mapper , a continuación, key y value específicos. Ejemplo:

 path-mapper.key=value

Recuerde que después de realizar cambios en sus propias propiedades, debe volver a cargar la aplicación. Ejemplo:

https://github.com/kchrusciel/SpringPropertiesExample

over 4 years ago · Santiago Trujillo Relatório

0

Hay dos cosas que necesita para alimentar el mapa desde el archivo de propiedades. Primero, debe tener una clase que tenga la configuración y los campos de destino para almacenar datos del archivo de propiedades.

 @Configuration @PropertySource("classpath:myprops.properties") @ConfigurationProperties("props") @Component public class Properties{ private Map<String,String> map = new HashMap<String,String>(); // getter setter }

En segundo lugar, defina el archivo de propiedades llamado myprops.properties con todas las propiedades como accesorios.

 props.map.port = 443 props.map.active = true props.map.user = aUser
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda