日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

IOC操作Bean管理XML方式(注入外部bean)

發布時間:2024/7/23 asp.net 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOC操作Bean管理XML方式(注入外部bean) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

?

?

1..注入屬性-外部 bean

(1)創建兩個類 service 類和 dao 類【分別創建兩個包存放兩個類】

(2)在 service 調用 dao 里面的方法

(3)(后來做法)在Spring 配置文件中進行配置

?


?

1..注入屬性-外部 bean

首先,復習一下javaEE的三層結構 web層、service層、dao層

我們常常提到java EE的三層或者四層結構。
四層架構:
展示層(web層)、業務邏輯層、數據訪問層、信息資源層
四層架構在是開發企業應用時使用的非常經典的劃分模式。
web層負責前端展示和用戶請求的處理。mvc是一個設計模式,主要用戶構建用戶界面,目的是把展示邏輯和邏輯分離。web層通常會使用MVC模式進行構建,經常使用的mvc框架包括spring mvc,struts等,都是在web層或者展示層使用的。
業務邏輯層一般應用中會有一層service抽象,實現核心業務邏輯,事務控制也在這一層實現。
數據訪問層也即dao層,重點負責數據庫訪問,完成持久化功能。
信息資源層主要服務資源的存儲。
所以mvc和四層(三層)結構有關系,四層架構是應用的體系(分層)結構,描述了整個應用的一個完整的劃分,而mvc是一個設計模式,通常會用于四層架構的展示層的構建上。

?

?那么,通過service層去調用dao層這個過程就是引入外部bean

實現步驟:

(1)創建兩個類 service 類和 dao 類【分別創建兩個包存放兩個類】

在service包中添加UserService類

package com.lbj.spring5.service;public class UserService {public void add(){System.out.println("service add............");} }

?在dao包中添加UserDao的接口類

再在dao包中添加UserDaoImpl實現類,讓它實現UserDao的接口

結構圖:

接口類UserDao的代碼如下:

package com.lbj.spring5.dao;/*** Created by 14811 on 2020/12/1.*/ public class UserDaoImpl implements UserDao {@Overridepublic void update() {System.out.println("dao update..........");} }

?實現類UserDaoImpl的代碼如下:

package com.lbj.spring5.dao;public class UserDaoImpl implements UserDao {@Overridepublic void update() {System.out.println("service add..........");} }

?

(2)在 service 調用 dao 里面的方法

原始做法:
在UserService類中調用UserDaoImpl實現類中的方法【底層:Service要的到dao的對象】

【接口=new它的實現類的對象,這個的過程就叫做多態(抽象類或接口當做父類,父類引用指向子類對象)】

代碼如下:

package com.lbj.spring5.service;import com.lbj.spring5.dao.UserDao; import com.lbj.spring5.dao.UserDaoImpl;public class UserService {public void add(){System.out.println("service add............");//創建UserDao對象UserDao dao=new UserDaoImpl();//調用實現類中的方法dao.update();} }

?

(3)(后來做法)在Spring 配置文件中進行配置

第一步:在UserService類中創建UserDao類型屬性,生成set方法

注意:Spring的屬性也可以是類的屬性,不僅僅是String類型的屬性

UserService類代碼如下:

package com.lbj.spring5.service;import com.lbj.spring5.dao.UserDao; import com.lbj.spring5.dao.UserDaoImpl;public class UserService {//創建UserDao類型屬性,生成set方法private UserDao userDao;public void setUserDao(UserDao userDao) {this.userDao = userDao;}public void add(){System.out.println("service add............");//調用方法userDao.update();} }

?第二步:為了方便區分我們之前做的實驗,我們新建一個bean2.xml

?使用ref讓一個Bean作為另外一個Bean的成員變量

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"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.xsd"><!--1.service和dao對象的創建--><bean id="userService" class="com.lbj.spring5.service.UserService"><!--注入userDao對象name屬性值:類里面屬性的名稱ref屬性:創建userDao對象bean標簽的id值--><property name="userDao" ref="userDaoImpl"></property></bean><bean id="userDaoImpl" class="com.lbj.spring5.dao.UserDaoImpl"></bean> </beans>

最后,為了方便測試,我們新建一個測試類 TestBean 類

?

代碼如下:

package com.lbj.spring5.testdemo;import com.lbj.spring5.service.UserService; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestBean {@Testpublic void testUserService(){//1.加載spring配置文件ApplicationContext context=new ClassPathXmlApplicationContext("bean2.xml");//2.獲取配置創建的對象,通過context得到對象UserService userService=context.getBean("userService", UserService.class);//4.通過userService調用add()方法userService.add();} }

?結果如下:

?

?

?

?

總結

以上是生活随笔為你收集整理的IOC操作Bean管理XML方式(注入外部bean)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。