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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

IOC操作Bean管理XML方式(FactoryBean)

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

目錄

IOC操作Bean管理XML方式(FactoryBean)

Spring 有兩種類型的bean

第一種:是普通的 bean

第二種:工廠bean?FactoryBean

第一步:創建類,讓這個類作為工廠bean

第二步:在類中實現接口里面的方法,在實現的方法中定義返回的 bean 類型

第三步:測試

總結:


?

IOC操作Bean管理XML方式(FactoryBean)

?

Spring 有兩種類型的bean

?

第一種:是普通的 bean

普通的 bean:在xml配置文件中的class配置的是什么類,那么返回的就必須是哪個類

? ? ? ? ? ? ? ? ? ? ? ?也就是說:在配置文件中定義 bean 類型就是返回類型

演示效果:?

?

第二種:工廠bean?FactoryBean

?工廠bean:在xml配置文件中的class配置的是什么類,返回的類可以和class配置的類不一樣

? ? ? ? ? ? ? ? ? ? 也就是說:在配置文件定義 bean 類型可以和返回類型不一樣

?演示:

第一步:創建類,讓這個類作為工廠bean

問:如何讓類作為工廠 Bean 呢?

方法:實現接口 FactoryBean

為了方便測試,我們先創建一個 factorybean 包

?再在 factorybean 包中新建一個 Mybean 類

Mybean類中的代碼如下:

package com.lbj.spring5.factorybean;import com.lbj.spring5.collectiontype.Course; import org.springframework.beans.factory.FactoryBean;public class Mybean {}

?

新建一個bean3.xml配置文件用來測試

代碼如下:

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> <!--Mybean對象通過配置文件創建出來--><bean id="myBean" class="com.lbj.spring5.factorybean.Mybean"></bean> </beans>

第二步:在類中實現接口里面的方法,在實現的方法中定義返回的 bean 類型

package com.lbj.spring5.factorybean;import com.lbj.spring5.collectiontype.Course; import org.springframework.beans.factory.FactoryBean;/*** ?工廠模式這里指的是這個實例工廠已經替我們創建好,直接拿著用就行*/ public class Mybean implements FactoryBean<Course>{@Override // 定義返回bean的實例 // 這么做的目的是設置Mybean這個部分返回的對象是Course對象而不是Mybeanpublic Course getObject() throws Exception {Course course = new Course();course.setCname("語文課");return course;}@Override // 返回bean的類型public Class<?> getObjectType() {return null;}@Override // 是否單例public boolean isSingleton() {return false;} }

?

第三步:測試

package com.lbj.spring5.testdemo;import com.lbj.spring5.collectiontype.Course; import com.lbj.spring5.factorybean.Mybean; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestSpring5Demo1 {@Testpublic void tsetCollection3(){ApplicationContext context=new ClassPathXmlApplicationContext("bean3.xml");Course course=context.getBean("myBean", Course.class);System.out.println(course);} }

?

總結:

工廠bean,就是為了后面返回不同類型對象作個鋪墊

工廠模式的意義就是為了不暴露對象創建的過程

泛型工廠模式

?

?

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

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

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