我有一个控制器方法,以bean作为参数。 该控制器方法接受POST请求,并且相应的帖子正文填充在参数Bean中。 我想在此bean初始化并且json被反序列化之后但在进行控制器方法内部的服务调用之前在PasswordChange Object中调用postInit方法。我知道这里是Spring的@PostConstruct但是因为我使用Jackson进行反序列化通过MappingJacksonJsonView我不确定是否可以可靠地调用此方法。 谁能告诉我这实际上是否是@PostConstruct的有效使用。

我正在将Spring 3.2.8Jackson-databind 2.3.2

@RequestMapping(value = "/passwordChange", method = RequestMethod.POST)
    public @ResponseBody PasswordInfo passwordInfo(@RequestBody @Valid PasswordChange passwordChange)
            throws PasswordChangeException {
        return passwordService.changePassword(passwordChange.getLoginKey(), passwordChange.getOldPassword(), passwordChange.getNewPassword());
    }

PasswordChange Bean。

 public class PasswordChange {


    private String loginKey;

    private String oldPassword;

    private String newPassword;

    @Autowired
    private LoginDao loginDao;

    private LoginEntity login;
    private Person person;


    public PasswordChange() {       
    }

    public PasswordChange(String loginKey, String oldPassword, String newPassword) {
        this.loginKey = loginKey;
        this.oldPassword = oldPassword;
        this.newPassword = newPassword;    
    }

    @PostConstruct
    public void postInit() {
            login = loginDao.findByLogin(loginKey);
        person = login.getCorePerson();
    }

}

  ask by ShaggyInjun translate from so

本文未有回复,本站智能推荐: