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={"博士生","研究生","本科生","专科生","高中生"};
    }
  • 相关阅读:
    leetcode 86. Partition List
    leetcode 303. Range Sum Query
    leetcode 1310. XOR Queries of a Subarray
    leetcode 1309. Decrypt String from Alphabet to Integer Mapping
    leetcode 215. Kth Largest Element in an Array
    将numpy.ndarray写入excel
    leetcode 1021 Remove Outermost Parentheses
    leetcode 1306. Jump Game III
    leetcode 1305. All Elements in Two Binary Search Trees
    ICCV2019 oral:Wavelet Domain Style Transfer for an Effective Perception-distortion Tradeoff in Single Image Super-Resolution
  • 原文地址:https://www.cnblogs.com/qdhxhz/p/6416877.html
Copyright © 2011-2022 走看看