2016-08-04 47 views
0

Ich versuche, einige Informationen aus der Datenbank auf der Thymeleaf-Seite mit benutzerdefinierten Dialekt anzeigen, aber in der Dienstprogramm-Klasse bekomme ich die Autowired-Repository als null.Autowire geben Nullobjekt im Frühjahr Boot-Dienstprogramm-Klasse

Das ist mein thymeleaf Code

Und das ist Utility-Klasse

@Autowired (required = true) privaten UserRepository UserRepository;

public String getUserFullName(String useUsername){ 

    String fullname = ""; 

    if(useUsername != null && useUsername.length() > 0){ 
     User user = userRepository.findByUseUsername(useUsername); 
     if(user != null){ 

      String profession = user.getUseProfession(); 
      if(profession == null || profession.length() < 1) { 
       fullname = fullname + user.getUseSurname() + ", " + user.getUseFirstname(); 
      } 
      else { 
       fullname = fullname + user.getUseSurname() + ", " + user.getUseFirstname() + " (" + profession + ")"; 
      } 
     } 
    } 
    return fullname; 
} 

Und ich bin Hinzufügen der Utility-Klasse in Dialekt wie diese

@Override 
    public Map<String, Object> getAdditionalExpressionObjects(IProcessingContext ctx) { 
    Map<String, Object> expressions = new HashMap<>(); 
    expressions.put("fullnameUtil", new FullNameUtil()); 
    return expressions; 
    } 

ich die UserRepository als null bin immer.

Antwort

0

das Problem, indem autowiring die Utility-Klasse im Dialekt benutzerdefinierte Gelöst

@Autowired (required = true) privaten FullNameUtil fullNameUtil;