Bonjour,
je développe une application avec CDI. Tout fonctionne très bien, sauf sur une classe :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
@Named
@RequestScoped
public class LoginBean implements Serializable {
    @Inject private PropertiesLoader prop;
 
     public String Index(){
         return "connexion";
     }
 
     public LoginBean() {}
 
     @PostConstruct
     private void init(){
          prop.setProp("default.layout", "nothing");
     }
 
}
Voic le code du PropertieLoader qui est déjà injecté dans une autre classe et qui fonctionne bien dans cette autre classe.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
@Named
@Singleton
public class PropertiesLoader implements Serializable {
 
      private Properties prop = new Properties();
 
      public PropertiesLoader() {
            // code du constructeur
      }
 
      public String getProperty(String key){
            return (String) prop.get(key);
      }
 
      public void setProp(String key, String value) {
            this.prop.setProperty(key, value) ;
      }
 }

Dans ma classe LoginBean, l''injection n'est pas effectué, le @PostConstruct non plus. Je n'arrive pas à savoir pourquoi.
A savoir que ma classe LoginBean est instanciée par refléxivité mais si en testant une instanciation normal, le problème persiste.