项目(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={"博士生","研究生","本科生","专科生","高中生"};
}

 

posted on 2017-02-19 20:23  雨点的名字  阅读(428)  评论(0编辑  收藏  举报