服务bean和DAO bean在春季实现

时间:2012-04-12 18:46:10

标签: spring service implementation dao

这是我在 spring context

中定义的UserDAO bean
public class UserDAO{

  public boolean isUserAlreadyExists(User user){
     //some logic
  }

  public void createUser(User user){
     //logic to add user to database
  }

}

这是我的spring service bean

@Component
@Transactional(readonly="true",propagation=Propation.SUPPORTD)
public class UserService{

   @Autowired
   UserDAO userDAO;

   public void createUser(User){
       if(!userDAO.isUserAlreadyExists(user)){
           userDAO.createUser(user);
       }
   }
}

我应该从 UserDAO.createUser 中调用 isUserAlreadyExists ,就像这样

//UserDAO.java
public void createUser(User user){

  if(!isAlreadyUserExists(user)){
     //user adding to database
  }
}

以上服务bean实现没问题。

1 个答案:

答案 0 :(得分:3)

这个逻辑似乎应该在你的服务层;如前一个例子。您在DAO中的createUser()功能只需要担心创建或添加用户。如果User已存在,请让服务层担心该怎么做。

Good read