自动化字段保持空值

时间:2014-07-31 13:01:59

标签: spring spring-mvc javabeans autowired

当我运行de application并尝试执行signUp时,下面类中的字段usuario保持值null。谁能告诉我这里有什么问题?我尝试使用注释@Component作为类,并使用@Transaction作为方法,但问题仍然存在。我也尝试使用UsuarioService而不是我的Dao类,同样的问题也会发生。

public class AccountConnectionSignUp implements ConnectionSignUp {

    static final Logger logger = LogManager.getLogger(AccountConnectionSignUp.class.getName());

    @Autowired
    private UsuarioHome usuario;

    @Override
    public String execute(Connection<?> connection) {
        logger.debug("Entrando no medodo AccountConnectionSignUp.execute(...)");
        UserProfile profile = connection.fetchUserProfile();
        logger.debug("profile = "+profile.getUsername());
        Usuario account = new Usuario(profile.getUsername(), profile.getFirstName(), profile.getLastName(), profile.getEmail());
        logger.debug("account = "+account.getLogin());
        if(usuario != null) {
            if(usuario.persist(account)) {
                logger.debug("cadastro efetuado com sucesso");
                logger.debug("account = "+account.getId());
                return account.getLogin();
            }
            else {
                logger.debug("cadastro nao efetuado");
                return null;
            }
        }
        else {
            logger.debug("usuario esta com valor null");
            return null;
        }
    }

}

2 个答案:

答案 0 :(得分:0)

如果usuario是一个界面,你有两个实现这个的Beans,你必须添加注释@Qualifier(&#34; class&#34;)

答案 1 :(得分:-4)

我解决了这个问题,将字段声明更改为:

private UsuarioService usuario;

public AccountConnectionSignUp() {
    this.usuario = new UsuarioService();
}

不需要@Autowired。