15.4 业务逻辑层设计

15.4.1 创建业务逻辑组件接口

新建业务逻辑组件接口,该接口定义了注册用户,判断是否允许用户登录,判断是否允许注册3个方法,代码如下所示。

        package net.hncu.service;
        import net.hncu.po.User;
        public interface UserService {
              //注册用户
              public boolean add(User user);
              //是否允许登录
              public boolean isLogin(String username, String password);
              //是否允许注册
              public boolean isRegister(String username);
        }

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

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

        package net.hncu.service;
        import net.hncu.dao.UserDAO;
        import net.hncu.po.User;
        public class UserServiceImpl implements UserService {
              private UserDAO userDao;
              public void setUserDao(UserDAO userDao) {
                    this.userDao = userDao;
              }
              //注册用户
              public boolean add(User user) {
                    //查找该用户名的用户
                    User olduser = userDao.findUser(user.getUsername());
                    //如果存在,则返回false
                    if(olduser ! = null) {
                            return false;
                    }
                    //如果不存在,则返回true
                    userDao.add(user);
                    return true;
              }
              //是否允许登录
              public boolean isLogin(String username, String password) {
                    //查找该用户名的用户
                    User user = userDao.findUser(username);
                    //如果存在该用户,则验证密码是否相同
                    if(user ! = null && password.equals(user.getPassword())) {
                            return true;
                    }
                    return false;
              }
              //是否允许注册
              public boolean isRegister(String username) {
                    //查找该用户名的用户
                    User user = userDao.findUser(username);
                    //如果存在,则返回false
                    if(user ! = null) {
                            return false;
                    }
                    //如果不存在,则返回true
                    return true;
              }
        }

15.4.3 配置业务逻辑组件

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

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