zoukankan      html  css  js  c++  java
  • 项目(1)----用户信息管理系统(3)---项目开发(业务处理层)

    项目开发---业务处理层

     这里主要实现下面两个包中的类,其实性质和Dao和Dao的实现类一样,但为了规范,这里在写接口和实现类

         1.com.study.user.service   //接口包

                1.UserService.java

        2. com.study.user.service.impl  //实现接口类

                1.UserServiceImpl.java

       3.DaoFacotory 类

       4.Globals类

       1.UserService.java

    import java.util.List;
    
    import com.study.user.model.User;
    
    public interface UserService {
     
         public void add(User user);
            
            public void del(String id);
            
            public void update(User user);
            
            public User  find(String id);
            
            public List<User> getAll();
    }

    2.UserServiceImpl.java

     1 import java.util.List;
     2 
     3 import com.study.user.dao.UserDao;
     4 import com.study.user.dao.impl.UserDaoImpl;
     5 import com.study.user.model.User;
     6 import com.study.user.service.UserService;
     7 import com.study.user.utils.DaoFacotory;
     8 
     9 public class UserServiceImpl implements UserService{  
    10     
    12 //    private UserDao dao =new UserDaoImpl(); 如果用这种模式那么每次调用都会创建一个对象,而通过下面就只创建一个对象
    13     
    14     private UserDao udao=DaoFacotory.getInstance().createDao("com.guigu.user.dao.impl.UserDaoImpl", UserDao.class);
    15     
    16     public void addUser(User user) {
    17           udao.add(user); 
    18     }
    19 
    20     public List<User> getAll() {       
    21         return udao.getAll();
    22     }
    23 
    24     public void del(String id) {
    25         udao.del(id);        
    26     }
    27 
    28     public void update(User user) {
    29         udao.update(user);        
    30     }
    31 
    32     public User find(String id) {
    33         
    34         return udao.find(id);
    35     }
    36 }

     3.DaoFacotory 类

     1 import com.study.user.dao.UserDao;
     2 /*
     3  * 这个通过单例模式来获得一个对象,在通过这个对象调用createDao方法,返回的也永远是同一个对象,这个很有用
     4  */
     5 public class DaoFacotory {
     6 
     7     private DaoFacotory() {
     8 
     9     }
    10 
    11     private static final DaoFacotory facotory = new DaoFacotory();
    12 
    13     // 提供共有的方法获取实例对象
    14     public static DaoFacotory getInstance() {
    15         return facotory;
    16     }
    17     /*根据不同的Dao类型创建不同的对象
    18      * 得到对象:DaoFacotory.getInstance().createDao("com.study.user.dao.impl.UserDaoImpl", UserDao.class);
    19      */
    20     public <T> T createDao(String className, Class<T> clazz) {
    21         try {
    22             T t = (T) Class.forName(className).newInstance();
    23             return t;
    24         } catch (Exception e) {
    25             System.out.println("这里错了");
    26             throw new RuntimeException();
    27         }
    28     }
    29 }

     4.Globals类

    /*
     * 因为我的兴趣爱好和类型是写在java类中而不是写在jsp界面中的,目的也是有更好的可操作性,所以单独建立这个类
     * 
     */
    public class Globals {
        
        public static String [] preferences ={"唱歌","跳舞","睡觉","学习","游戏","篮球"};
        
        public static String [] types={"博士生","研究生","本科生","专科生","高中生"};
    }
  • 相关阅读:
    51 Nod 1068 Bash游戏v3
    51 Nod Bash 游戏v2
    51 Nod 1073 约瑟夫环
    UVA 12063 Zeros and ones 一道需要好好体会的好题
    51 Nod 1161 Partial sums
    2018中国大学生程序设计竞赛
    UVA 11971 Polygon
    UVA 10900 So do you want to be a 2^n-aire?
    UVA 11346 Possibility
    python with as 的用法
  • 原文地址:https://www.cnblogs.com/qdhxhz/p/6416877.html
Copyright © 2011-2022 走看看