自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Struts2.0+ibatis2.3整合實例實現(xiàn)服務(wù)層及Struts

開發(fā) 后端
Struts2.0+ibatis2.3整合實例實現(xiàn)服務(wù)層及Struts是如何達(dá)成的呢?本文將會給你這方面的講解。

服務(wù)層這里我就不用做介紹了,這里的實現(xiàn)和以前Hibernate的例子基本類同,唯一不同的是使用了Spring2.5的標(biāo)注方式實現(xiàn)類的注入。

Struts2.0+ibatis2.3整合實例之IUserService.java

  1. package org.login.service;  
  2.  
  3. import java.util.List;  
  4.  
  5. import org.login.vo.Users;  
  6.  
  7. public interface IUserService {  
  8.       
  9.     List﹤Users﹥ getAllUser();  
  10.       
  11.     Users getUserById(Integer id);  
  12.       
  13.     boolean isLogin(Users user);  
  14.       
  15.     boolean insertUser(Users user);  
  16.       
  17.     boolean updateUser(Users user);  
  18.       
  19.     boolean deleteUser(Integer id);  
  20. }  
  21.  
  22. 服務(wù)層實現(xiàn):UserService.java  
  23.  
  24. package org.login.service.Impl;  
  25.  
  26. import java.util.List;  
  27.  
  28. import org.login.dao.IUserDAO;  
  29. import org.login.service.IUserService;  
  30. import org.login.vo.Users;  
  31. import org.springframework.beans.factory.annotation.Autowired;  
  32. import org.springframework.beans.factory.annotation.Qualifier;  
  33. import org.springframework.stereotype.Service;  
  34.  
  35. @Service("userService")  
  36. public class UserService implements IUserService {  
  37.  
  38.     @Autowired(required=false)  
  39.     @Qualifier("userDAO")  
  40.     private IUserDAO userDAO = null;  
  41.       
  42.     public IUserDAO getUserDAO() {  
  43.         return userDAO;  
  44.     }  
  45.  
  46.     public void setUserDAO(IUserDAO userDAO) {  
  47.         this.userDAO = userDAO;  
  48.     }  
  49.  
  50.     @Override 
  51.     public boolean deleteUser(Integer id) {  
  52.           
  53.         return userDAO.deleteUser(id);  
  54.     }  
  55.  
  56.     @Override 
  57.     public List﹤Users﹥ getAllUser() {  
  58.           
  59.         return userDAO.getAllUser();  
  60.     }  
  61.  
  62.     @Override 
  63.     public boolean insertUser(Users user) {  
  64.           
  65.         return userDAO.insertUser(user);  
  66.     }  
  67.  
  68.     @Override 
  69.     public boolean isLogin(Users user) {  
  70.           
  71.         return userDAO.isLogin(user);  
  72.     }  
  73.  
  74.     @Override 
  75.     public boolean updateUser(Users user) {  
  76.           
  77.         return userDAO.updateUser(user);  
  78.     }  
  79.  
  80.     @Override 
  81.     public Users getUserById(Integer id) {  
  82.           
  83.         return userDAO.getUserById(id);  
  84.     }  
  85.  

Struts層的實現(xiàn)也是比較簡單了,與上述的區(qū)別都一樣,在這里我就不太多說了。

Struts2.0+ibatis2.3整合實例之Login.java

  1.  package org.login.actions;  
  2.  
  3. import java.util.List;  
  4.  
  5. import javax.servlet.http.HttpServletRequest;  
  6.  
  7. import org.apache.struts2.interceptor.ServletRequestAware;  
  8. import org.login.service.IUserService;  
  9. import org.login.vo.Users;  
  10. import org.springframework.beans.factory.annotation.Autowired;  
  11. import org.springframework.beans.factory.annotation.Qualifier;  
  12. import org.springframework.stereotype.Service;  
  13.  
  14. import com.opensymphony.xwork2.ActionSupport;  
  15.  
  16. @SuppressWarnings({"serial","unchecked"})  
  17. @Service("login")  
  18. public class Login extends ActionSupport implements ServletRequestAware {  
  19.  
  20.     private static final String UPDATE = "update";  
  21.       
  22.     private HttpServletRequest request = null;  
  23.       
  24.     @Autowired(required = false)  
  25.     @Qualifier("userService")  
  26.     private IUserService userService = null;  
  27.       
  28.     private String id = null;  
  29.     private String name = null;  
  30.     private String password = null;  
  31.       
  32.     public String getName() {  
  33.         return name;  
  34.     }  
  35.  
  36.     public void setName(String name) {  
  37.         this.name = name;  
  38.     }  
  39.  
  40.     public String getPassword() {  
  41.         return password;  
  42.     }  
  43.  
  44.     public void setPassword(String password) {  
  45.         this.password = password;  
  46.     }  
  47.       
  48.     public String getId() {  
  49.         return id;  
  50.     }  
  51.  
  52.     public void setId(String id) {  
  53.         this.id = id;  
  54.     }  
  55.       
  56.     public IUserService getUserService() {  
  57.         return userService;  
  58.     }  
  59.  
  60.     public void setUserService(IUserService userService) {  
  61.         this.userService = userService;  
  62.     }  
  63.  
  64.     @Override 
  65.     public String execute() throws Exception {  
  66.         Users user = new Users();  
  67.         user.setUserName(name);  
  68.         user.setPassword(password);  
  69.         if (getUserService().isLogin(user)) {  
  70.             return SUCCESS;  
  71.         }  
  72.         return INPUT;  
  73.     }  
  74.       
  75.     public String save() throws Exception {  
  76.         Users user = new Users();  
  77.         user.setUserName(name);  
  78.         user.setPassword(password);  
  79.         if (getUserService().insertUser(user)) {  
  80.             return SUCCESS;  
  81.         }  
  82.         return ERROR;  
  83.     }  
  84.  
  85.     public String update() throws Exception {  
  86.         Users user = null;  
  87.         String action = request.getParameter("action");  
  88.         String id = request.getParameter("id");  
  89.         if ("loading".equals(action)) {  
  90.               
  91.             user = new Users();  
  92.             user = getUserService().getUserById(Integer.valueOf(id));  
  93.             if (null != user) {  
  94.                 request.setAttribute("user", user);  
  95.             }  
  96.             return UPDATE;  
  97.               
  98.         } else {  
  99.             user = new Users();  
  100.             user.setUserName(name);  
  101.             user.setPassword(password);  
  102.             user.setId(Integer.valueOf(id));  
  103.             if (getUserService().updateUser(user)) {  
  104.                 return SUCCESS;  
  105.             }  
  106.         }  
  107.           
  108.         return ERROR;  
  109.     }  
  110.       
  111.     public String delete() throws Exception {  
  112.         String id = request.getParameter("id");  
  113.         if (getUserService().deleteUser(Integer.valueOf(id))) {  
  114.             return SUCCESS;  
  115.         }  
  116.         return ERROR;  
  117.     }  
  118.       
  119.       
  120.     public String findAllUsers() throws Exception {  
  121.         List﹤Users﹥ list = getUserService().getAllUser();   
  122.         if (list.size() ﹥ 0) {  
  123.             request.setAttribute("list", list);  
  124.             return SUCCESS;  
  125.         }  
  126.         return ERROR;  
  127.     }  
  128.  
  129.     @Override 
  130.     public void setServletRequest(HttpServletRequest request) {  
  131.         this.request = request;          
  132.     }  

到現(xiàn)在為止,我們的底層的類已經(jīng)全部實現(xiàn)了,下來我們看其配置文件:

Struts2.0+ibatis2.3整合實例之struts.xml

  1. ﹤?xml version="1.0" encoding="UTF-8"?﹥  
  2. ﹤!DOCTYPE struts PUBLIC  
  3.         "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
  4.         "http://struts.apache.org/dtds/struts-2.0.dtd"﹥  
  5. ﹤struts﹥  
  6.     ﹤include file="struts-default.xml"/﹥  
  7.     ﹤package name="struts2" extends="struts-default"﹥  
  8.         ﹤action name="logon" class="login"﹥  
  9.             ﹤result name="success"﹥/success.jsp﹤/result﹥  
  10.             ﹤result name="input"﹥/login.jsp﹤/result﹥  
  11.         ﹤/action﹥  
  12.         ﹤action name="save" class="login" method="save"﹥  
  13.             ﹤result name="success"﹥/success.jsp﹤/result﹥  
  14.             ﹤result name="error"﹥/error.jsp﹤/result﹥  
  15.         ﹤/action﹥  
  16.         ﹤action name="update" class="login" method="update"﹥  
  17.             ﹤result name="success"﹥/success.jsp﹤/result﹥  
  18.             ﹤result name="update"﹥/update.jsp﹤/result﹥  
  19.             ﹤result name="error"﹥/error.jsp﹤/result﹥  
  20.         ﹤/action﹥  
  21.         ﹤action name="delete" class="login" method="delete"﹥  
  22.             ﹤result name="success"﹥/success.jsp﹤/result﹥  
  23.             ﹤result name="error"﹥/error.jsp﹤/result﹥  
  24.         ﹤/action﹥  
  25.         ﹤action name="show" class="login" method="findAllUsers"﹥  
  26.             ﹤result name="success"﹥/list.jsp﹤/result﹥  
  27.             ﹤result name="error"﹥/error.jsp﹤/result﹥  
  28.         ﹤/action﹥  
  29.     ﹤/package﹥  
  30. ﹤/struts﹥ 

Struts2.0+ibatis2.3整合實例之Struts.properties

struts.locale=zh_CN

struts.i18n.encoding=UTF-8 

struts.objectFactory=spring 

接下來也是與之前例子不同的地方,就是ibatis的配置文件:

config.xml

  1.  ﹤?xml version="1.0" encoding="UTF-8"?﹥  
  2. ﹤!DOCTYPE sqlMapConfig        
  3.     PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"        
  4.     "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"﹥  
  5.       
  6. ﹤sqlMapConfig﹥  
  7.     ﹤sqlMap resource="org/login/vo/Users.xml"/﹥  
  8. ﹤/sqlMapConfig﹥ 

這個文件比較簡單,只配置了bean的映射文件。

***一個配置文件就是Spring的配置文件了,這個也是最關(guān)鍵的,與以前的配置是截然不同,因為在Spring2.5使用了標(biāo)注方式注入,同時她了具有了自動的搜索bean的能力,所以配置就相當(dāng)?shù)暮唵危绻胁幻靼椎牡胤?,可以寫到評論里,或者給我留言,這也是Spring2.5最難理解的地方了。

applicationContext.xml

  1. ﹤?xml version="1.0" encoding="UTF-8"?﹥  
  2. ﹤beans xmlns="http://www.springframework.org/schema/beans" 
  3.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  4.        xmlns:context="http://www.springframework.org/schema/context" 
  5.        xsi:schemaLocation="http://www.springframework.org/schema/beans   
  6.            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
  7.            http://www.springframework.org/schema/context  
  8.            http://www.springframework.org/schema/context/spring-context-2.5.xsd"﹥  
  9.       
  10.     ﹤context:annotation-config /﹥  
  11.     ﹤bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"﹥  
  12.         ﹤property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver" /﹥  
  13.         ﹤property name="url" value="jdbc:jtds:sqlserver://localhost:1433/pubs" /﹥  
  14.         ﹤property name="username" value="sa" /﹥  
  15.         ﹤property name="password" value="aa" /﹥  
  16.     ﹤/bean﹥  
  17.       
  18.     ﹤bean id="sqlClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"﹥  
  19.         ﹤property name="dataSource"﹥  
  20.             ﹤ref local="dataSource"/﹥  
  21.         ﹤/property﹥  
  22.         ﹤property name="configLocation"﹥  
  23.             ﹤value﹥classpath:config.xml﹤/value﹥  
  24.         ﹤/property﹥  
  25.     ﹤/bean﹥  
  26.     ﹤context:component-scan base-package="org.login" /﹥  
  27. ﹤/beans﹥ 

這篇就寫到這里吧,下篇我們將說明頁面層的代碼,至于說明我想也不用了,如果有興趣研究的朋友可以先下載示例代碼先看下,具體的下載地址如下:

演示示例下載地址:Struts2.0+Spring2.5.1+ibatis2.3地址:http://download.csdn.net/source/331581

Struts2.0+ibatis2.3整合實例之實現(xiàn)服務(wù)層及Struts就向你介紹到這里,希望多你有所幫助。

【編輯推薦】

  1. 在iBATIS.NET中調(diào)用存儲過程淺析
  2. Struts2.0+Springframework2.5+ibatis2.3***整合實例
  3. Struts2.0+ibatis2.3***整合實例之映射淺析
  4. iBATIS.NET字段映射自定義對象淺析
  5. iBATIS.NET字段映射自定義對象淺析
責(zé)任編輯:仲衡 來源: CSDN博客
相關(guān)推薦

2009-07-20 17:01:11

Struts2.0+i

2009-07-20 16:41:27

Struts2.0+i

2009-07-20 16:07:19

Struts2.0 S

2009-07-17 17:45:56

iBATIS Spri

2009-06-05 11:01:23

struts mvcMVC工作原理

2009-06-19 10:00:37

Struts和Spri

2009-07-17 17:16:48

Spring iBAT

2011-05-03 09:40:58

iBatis

2009-06-10 14:53:25

netbeans st實例

2009-06-05 10:43:29

struts2 checheckbox實例

2009-06-08 16:52:00

2009-06-03 14:19:34

Struts2Guice

2010-07-30 16:04:17

Flex2struts

2012-05-25 10:41:33

StrutsDWRJava

2009-06-23 14:01:27

StrutsTapestryJSF

2009-06-18 15:56:49

Struts和Spri

2009-03-24 10:30:35

SpringStruts集成

2009-09-21 17:10:14

struts Hibe

2009-03-06 14:34:31

StrutsHibernateSpring

2009-09-22 13:02:05

ibmdwStruts
點贊
收藏

51CTO技術(shù)棧公眾號