2016-08-04 4 views
0

カスタム式を使ってthymeleafページのデータベースからいくつかの情報を表示しようとしていますが、ユーティリティクラスでautowiredリポジトリをnullにしています。春のブートユーティリティクラスでヌルオブジェクトを与えるAutowire

これは

私thymeleafコードであり、これは

@Autowired(=真必須) プライベート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; 
} 

そして私は、私がnullとしてuserRepositoryを取得しています。この

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

のような方言でユーティリティクラスを追加しています。

答えて

0

は、カスタムの方言

@Autowiredでユーティリティクラスをオートワイヤリングすることで問題を解決し プライベートFullNameUtil fullNameUtilを(=真必須)。

@Override 
    public Map<String, Object> getAdditionalExpressionObjects(IProcessingContext ctx) { 
    Map<String, Object> expressions = new HashMap<>(); 
    expressions.put("fullnameUtil", fullNameUtil); 
    return expressions; 
    } 
関連する問題