零基础学Struts
上QQ阅读APP看书,第一时间看更新

16.4 业务逻辑层设计

16.4.1 创建业务逻辑组件接口

新建业务逻辑组件接口,该接口中定义了添加用户、删除用户、更新用户、查询所有用户和按ID查询用户5个方法,代码如下所示。

        package net.hncu.service;
        import java.util.List;
        import net.hncu.po.User;
        public interface UserService {
              //添加用户
              public boolean addUser(User user);
              //删除用户
              public boolean deleteUser(int id);
              //更新用户
              public boolean updateUser(User user);
              //查询所有用户
              public List queryAllUser();
              //id查询用户
              public User queryUserByID(int id);
        }

16.4.2 创建业务逻辑组件实现类

新建业务逻辑组件实现类,该类实现业务逻辑组件接口。业务逻辑组件通过调用DAO组件来实现业务逻辑操作,代码如下所示。

        package net.hncu.service;
        import java.util.List;
        import net.hncu.dao.UserDAO;
        import net.hncu.po.User;
        public class UserServiceImpl implements UserService{
    //DAO组件引用
    private UserDAO userDAO;
    //设置DAO组件
    public void setUserDAO(UserDAO userDAO) {
          this.userDAO = userDAO;
    }
    // 添加用户
    public boolean addUser(User user) {
          //判断是否存在相同ID的用户
          if (userDAO.queryByID(user.getId()) == null) {
                //如果不存在,则调用DAO组件进行保存
                userDAO.save(user);
          } else {
                return false;
          }
          return true;
    }
    // 删除用户
    public boolean deleteUser(int id) {
          //判断是否存在相同ID的用户
          if (userDAO.queryByID(id) ! = null) {
                //如果存在,则调用DAO组件进行删除
                userDAO.delete(id);
          } else {
                return false;
          }
          return true;
    }
    // 更新用户
    public boolean updateUser(User user) {
          //判断是否存在相同ID的用户
          if (userDAO.queryByID(user.getId()) ! = null) {
                //如果存在,则调用DAO组件进行更新
                userDAO.update(user);
          } else {
                return false;
          }
          return true;
    //查询所有用户
    public List queryAllUser() {
          //调用DAO组件进行查询
          return userDAO.queryAll();
    }
    //id查询用户
    public User queryUserByID(int id) {
          //调用DAO组件进行查询
          return userDAO.queryByID(id);
    }
}

16.4.3 配置业务逻辑组件

在Spring配置文件中配置业务逻辑组件,并为其注入DAO组件,代码如下所示。

        <! -- 配置业务逻辑组件 -->
        <bean id="userService" class="net.hncu.service.UserServiceImpl">
            <! -- 为业务逻辑组件注入DAO组件 -->
            <property name="userDAO" ref="userDAO"></property>
        </bean>