À l'aide de @Profil du printemps de démarrage

J'ai de printemps de l'application de démarrage (1.1.5.COMMUNIQUÉ de) et l'activation de mon profil via la configuration protperty spring.profiles.active=MyProfile

Le profil est activé correctement, je peux voir par les haricots de ce profil en cours de création.

Puis j'ai une @Controller utilisés comme suit:

@Controller
@RequestMapping("/someUrl")
@Profile("MyProfile")
public class MyController {
...
}

Ce contrôleur n'est pas instancié et l'URL utilisée dans le contrôleur ne sont pas cartographiées. Dans le même paquet que j'ai un autre contrôleurs qui ne sont pas limités par @Profile et ces instsantiated et cartographiés comme prévu.

Est donc à l'aide de @Profile annotation sur le contrôleur de quelque chose qui n'est pas compatible avec spring boot? Est-il autre approche, je devrais utiliser?

Edit: Il semble être un bug après tout, comme si je comprend -Dspring.profiles.active=MyProfile que la JVM des biens le contrôleur est instanciée :'(

Edit2: Donc, voici la partie intéressante:

  • Si vous définissez spring.profiles.active dans application.properties qui est chargé par défaut de classpath thne il fonctionne
  • lorsque vous renommez le fichier test.properties et de l'inclure via @PropertySource("classpath:test.properties") il s'arrête de fonctionner. Soulever un rapport de bogue.

Edit 3: Comme promis: https://github.com/spring-projects/spring-boot/issues/1417

Merci!

Pour moi cela a fonctionné très bien, même avec le fichier de propriétés!
Afin d'éviter la duplication des efforts, il serait courtois de mentionner que vous avez ouvert un problème pour ceci: github.com/spring-projects/spring-boot/issues/1417
Merci, goog point. Ajouté que.

OriginalL'auteur Jan Zyka | 2014-08-21