在Spring启动实用程序类中自动赋予null对象

时间:2016-08-04 04:34:52

标签: spring-boot 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;
}

我正在添加像这样的方言中的实用程序类

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

我将userRepository视为null。

1 个答案:

答案 0 :(得分:0)

通过在自定义方言中自动装配实用程序类来解决问题

@Autowired(所需=真)       private FullNameUtil fullNameUtil;

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