1

これは、春のコンテキストで定義された私の UserDAO Bean です

public class UserDAO{

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

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

}

これは私の春のサービスビーンです

@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
  }
}

また

上記の Service Bean の実装は問題ありません。

4

1 に答える 1

3

そのロジックはサービス層にあるはずです。前の例のように。DAO のcreateUser()関数は、ユーザーの作成または追加についてのみ考慮する必要があります。Userがすでに存在する場合に何をすべきかについてサービス層に心配させます。

よく読んだ

于 2012-04-12T18:57:48.147 に答える