2017-06-03 64 views
0

我试图通过Spring数据JPA将用户数据保存在数据库上。不幸的是,当我在我的控制器类中调用RegistrazioneService时,它将为空。弹簧数据JPA - 服务始终为空

registrazioneController.java:这是一个正常的JSF控制器...

@ManagedBean(name="registrazioneController") 
@ViewScoped 
public class RegistrazioneController { 

private String username = ""; 
private String password = ""; 
private String repassword = ""; 
private String email; 


@ManagedProperty(value = "#{registrazioneService}") 
private RegistrazioneService registrazioneService; 

public void registraUser() { 

    System.out.println("inizio registrazione utente..."); 

    // si salva nel db il nuovo utente 
    User utente = new User(); 
    utente.setUsername(username); 
    utente.setPassword(password); 
    utente.setEmail(email); 
    utente.setDataCreazione(new Date()); 

    // di default si assegna all'utente il ruolo ROLE_USER 
    utente.setRole(Role.ROLE_USER); 

    registrazioneService.registraUtente(utente); 
} 

RegistrazioneService:

@Service 
public class RegistrazioneService { 

@Autowired 
UserRepository userRespository; 

@Transactional 
public void registraUtente(User user) { 
    System.out.println(("sono in registraUtente()")); 
    userRespository.save(user); 

} 
} 

,这就是UserRepository:

@Repository 
public interface UserRepository extends CrudRepository<User, Long> { 

} 

有人能帮助我吗?

+0

将'setRegistrazioneService'添加到您的控制器。 –

+0

你可以仔细检查你导入的@ @ Service'注释吗?是来自'org.jvnet.hk2.annotations'还是'org.springframework.stereotype'包? – harshavmb

回答

-2

您是否试图将@Autowired而不是@ManagedProperty(value =“#{registrazioneService}”)?

+0

是的,无论如何 – alex

+0

因此,把一个构造函数,使春天将能够注入豆。 public RegistrazioneController(RegistrazioneService registrazioneService){ this.registrazioneService = registrazioneService; } – mjayson

+0

什么也没有......它无论如何:( – alex