91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Service層講解DAO層中異常處理操作的示例分析

發布時間:2021-06-07 14:41:17 來源:億速云 閱讀:174 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關Service層講解DAO層中異常處理操作的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

domain:只是定義一個javabean。

dao:對于數據庫的操作,都放到dao層,也就是dao里面通常是對數據庫的增、刪、改、查等操作。

service:完成相應的業務邏輯處理,調用dao層。

(web)servlet:完成界面請求、對界面進行跳轉等等。servlet調用service層。

例子:

在domain包中,新建Xxx.java;在dao包中,新建IXxxDAO.java;在impl包中,新建XxxDAOImpl類;在test包中,新建XxxDAOTest.java,在XxxDAOImpl.java中編寫具體方法,核心步驟為“賈璉欲執事”。

注:

①IXxxDAO.java為接口,在其中編寫需要使用的方法,主要是增(save)刪(delete)改(update)查(get&list–查詢全部)。 ②Xxx.java中的變量均為私有,并且與數據庫中的列名,屬性相同。

J2EE三層架構:

Service層講解DAO層中異常處理操作的示例分析

Service層講解DAO層中異常處理操作的示例分析

令DaoException繼承RuntimeException, 處理異常的時候可以將其拋給Service層(UserService.java),如果要處理那么就try,catch,否則就令其報錯

用AOP捕捉 Service中調用Dao的異常

Service層講解DAO層中異常處理操作的示例分析

PersonDao和PersonDaoImpl,并在PersonDaoImpl中制造異常

public interface PersonDao {
 public void savePerson();
 public void updatePerson();
}
public class PersonDaoImpl implements PersonDao {
 
 public void savePerson() {
  int a = 1/0;
 }
 
 public void updatePerson() {
  Long.parseLong("aaa");
 }
 
}

目標類和目標方法

public interface PersonService {
 void savePerson();
 void updatePerson();
}
public class PersonServiceImpl implements PersonService {
 
 private PersonDao personDao;//在這里選擇set方式在spring的配置文件中進行注入
 
 public PersonDao getPersonDao() {
  return personDao;
 }
 public void setPersonDao(PersonDao personDao) {
  this.personDao = personDao;
 }
 public void savePerson() {
  personDao.savePerson();
 }
 public void updatePerson() {
  personDao.updatePerson();
 }
}

切面(定義一個異常類和異常方法)

public class Exception {
 
 /**
  * 這是一個異常通知
  */
 public void exceptionMethod(JoinPoint joinPoint,Throwable ex){
  System.out.println(ex.getMessage());
 }
 
}

配置文件

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
       xmlns:aop="http://www.springframework.org/schema/aop"  
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
       xsi:schemaLocation="http://www.springframework.org/schema/beans   
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
           http://www.springframework.org/schema/aop   
           http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">  
          
    <bean id="personDao" class="com.mo.dao.PersonDaoImpl"></bean>     
    
    <bean id="personService" class="com.mo.service.PersonServiceImpl">
     <!-- 用set方法注入 -->
     <property name="personDao" ref="personDao"></property>
    </bean>  
    
    <bean id="Exception" class="com.mo.exception.Exception"></bean>
      
    <aop:config>  
        <!-- 切入點表達式,確定目標類 -->  
        <aop:pointcut   
            expression="execution(* com.mo.service.PersonServiceImpl.*(..))"   
            id="perform"/>  
              
        <!-- ref指向的對象就是切面 -->  
        <aop:aspect ref="Exception">  
             <aop:after-throwing method="exceptionMethod" pointcut-ref="perform" throwing="ex"/>  
        </aop:aspect>  
    </aop:config>  
</beans>

單元測試類

@Test
public void test(){
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");  
        PersonService personService = (PersonService)context.getBean("personService");
        personService.savePerson();
}

輸出

/ by zero

關于“Service層講解DAO層中異常處理操作的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永福县| 石河子市| 宣恩县| 广安市| 贡嘎县| 徐汇区| 乡宁县| 伊川县| 任丘市| 丰城市| 临沧市| 西乌| 秦皇岛市| 永泰县| 民权县| 德昌县| 于田县| 天津市| 黄大仙区| 克山县| 如皋市| 青浦区| 二连浩特市| 寿宁县| 阜南县| 静海县| 永顺县| 高密市| 霍邱县| 阿克陶县| 隆回县| 万全县| 长汀县| 泽普县| 调兵山市| 景泰县| 德州市| 塔城市| 鹤岗市| 垦利县| 兴安县|