最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring?IOC?xml方式進(jìn)行工廠Bean操作詳解

 更新時(shí)間:2023年01月29日 10:59:05   作者:-耿瑞-  
這篇文章主要介紹了Spring?IOC?xml方式進(jìn)行工廠Bean操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧

spring中有兩種Bean

第一種 普通 Bean 就是我們?cè)谂渲梦募?定義的類(lèi)對(duì)象 創(chuàng)建bean 并定義相關(guān)的id和聲明類(lèi)對(duì)象

普通bean的特點(diǎn)在于 在配置文件中定義的類(lèi)型 也就是返回類(lèi)型

就比如 你定義的是一個(gè) book類(lèi)的類(lèi)型 那你這個(gè)bean返回的 也比如是個(gè)book類(lèi)型的對(duì)象

第二種 是在工廠類(lèi)中統(tǒng)一管理的工廠Bean

特點(diǎn)上 還是有比較大區(qū)別的 首先 工廠Bean 又叫FactoryBean 他定義的類(lèi)型和返回類(lèi)型是可以不一樣的

通常作為一個(gè)工廠類(lèi) 來(lái)管理bean對(duì)象操作

我們創(chuàng)建一個(gè)java項(xiàng)目 引入spring中的基本依賴(lài)

然后在src下創(chuàng)建兩個(gè)包 我這里直接叫 spring5 和 collectiontype 你們可以根據(jù)自己的喜好起名 跟我的一樣 可以避免一些名字問(wèn)題 畢竟你們的代碼大部分可以直接從我這復(fù)制

然后 我們?cè)?collectiontype包下創(chuàng)建一個(gè) Course 類(lèi) 參考代碼如下

package collectiontype;
//課程類(lèi)
public class Course {
    //課程名稱(chēng)
    private String cname;
    public void setCname(String cname) {
        this.cname = cname;
    }
    public String toString() {
        return "cname = "+cname;
    }
}

這是一個(gè)管理課程的類(lèi) 定義 字符串的cname 代表課程名稱(chēng) 然后 定義了他的set方法

改寫(xiě)了類(lèi)的toString方法 這樣直接輸出對(duì)象 就會(huì)輸出cname的值

在 spring5目錄下創(chuàng)建一個(gè)java類(lèi) 我這里取名為MyBean

package spring5;
import collectiontype.Course;
import org.springframework.beans.factory.FactoryBean;
public class MyBean implements FactoryBean<Course> {
    @Override
    public Course getObject() throws Exception {
        Course course = new Course();
        course.setCname("測(cè)試工具");
        return course;
    }
    @Override
    public Class<?> getObjectType() {
        return null;
    }
}

這里 我們實(shí)現(xiàn)了 FactoryBean接口 這樣就表示他是一個(gè)工廠類(lèi)

然后 定義泛型 指定Course對(duì)象類(lèi)型 這個(gè)就代表 我們返回的是一個(gè) Course類(lèi)的對(duì)象

getObject返回的值 就是最后 bean對(duì)象返回的值

然后我們?cè)趕rc下創(chuàng)建 bean.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="mybean" class="spring5.MyBean"></bean>
</beans>

這里 我們就創(chuàng)建了一個(gè)bean MyBean對(duì)象

然后 在src下創(chuàng)建一個(gè)text測(cè)試類(lèi) 參考代碼如下

import collectiontype.Course;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class text {
    public static void main(String args[]) {
        //獲取配置文件
        ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
        Course course = context.getBean("mybean", Course.class);
        System.out.println(course);
    }
}

可以看到 我們創(chuàng)建的是mybean的對(duì)象反射對(duì)象 但我們接收的類(lèi)型是Course類(lèi)的 因?yàn)槲覀僊yBean實(shí)際返回的是一個(gè)Course類(lèi)的對(duì)象

然后通過(guò)System.out.println輸出了對(duì)象的toString方法

運(yùn)行結(jié)果如下

到此這篇關(guān)于Spring IOC xml方式進(jìn)行工廠Bean操作詳解的文章就介紹到這了,更多相關(guān)Spring 工廠Bean操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 全面解析Spring Security 內(nèi)置 Filter

    全面解析Spring Security 內(nèi)置 Filter

    這篇文章主要介紹了Spring Security 內(nèi)置 Filter的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • JVM類(lèi)加載機(jī)制詳解

    JVM類(lèi)加載機(jī)制詳解

    本文主要介紹了JVM類(lèi)加載機(jī)制的相關(guān)知識(shí),具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • SpringBoot使用validation做參數(shù)校驗(yàn)的實(shí)現(xiàn)步驟

    SpringBoot使用validation做參數(shù)校驗(yàn)的實(shí)現(xiàn)步驟

    這篇文章主要介紹了SpringBoot使用validation做參數(shù)校驗(yàn)的實(shí)現(xiàn)步驟,幫助大家更好的理解和學(xué)習(xí)使用SpringBoot,感興趣的朋友可以了解下
    2021-05-05
  • java實(shí)現(xiàn)的正則工具類(lèi)

    java實(shí)現(xiàn)的正則工具類(lèi)

    這篇文章主要介紹了java實(shí)現(xiàn)的正則工具類(lèi),可用于針對(duì)電話號(hào)碼、郵箱、QQ號(hào)碼、QQ密碼、手機(jī)號(hào)的正則驗(yàn)證功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • Spring容器初始化擴(kuò)展點(diǎn)之ApplicationContextInitializer詳解

    Spring容器初始化擴(kuò)展點(diǎn)之ApplicationContextInitializer詳解

    ApplicationContextInitializer是Spring框架提供的一個(gè)接口,用于在Spring應(yīng)用上下文刷新之前對(duì)其進(jìn)行自定義初始化,本文介紹Spring容器初始化擴(kuò)展點(diǎn)之ApplicationContextInitializer,感興趣的朋友一起看看吧
    2025-02-02
  • 關(guān)于Java中反射的作用義及使用方法

    關(guān)于Java中反射的作用義及使用方法

    這篇文章主要介紹了關(guān)于Java中反射的作用義及使用方法,反射使得程序可以在運(yùn)行時(shí)對(duì)類(lèi)進(jìn)行檢查和操作,而不需要在編譯時(shí)知道類(lèi)的完整信息,需要的朋友可以參考下
    2023-07-07
  • Spring中的@Transactional注解使用詳解

    Spring中的@Transactional注解使用詳解

    這篇文章主要介紹了Spring中的@Transactional注解使用詳解,@Transactional 是一個(gè)注解,用于在 Spring 框架中管理事務(wù)的聲明式事務(wù)管理機(jī)制,它可以應(yīng)用于方法或類(lèi)級(jí)別,并指示方法或類(lèi)在執(zhí)行時(shí)應(yīng)該被包裝在一個(gè)事務(wù)中,需要的朋友可以參考下
    2024-01-01
  • Java并發(fā)編程之顯式鎖機(jī)制詳解

    Java并發(fā)編程之顯式鎖機(jī)制詳解

    這篇文章主要為大家詳細(xì)介紹了Java并發(fā)編程之顯式鎖機(jī)制的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Java復(fù)制(拷貝)數(shù)組的五種方法匯總

    Java復(fù)制(拷貝)數(shù)組的五種方法匯總

    java基礎(chǔ)在Java中我們經(jīng)常需要復(fù)制一個(gè)數(shù)組,下面這篇文章主要給大家介紹了關(guān)于Java復(fù)制(拷貝)數(shù)組的五種方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • java堆棧類(lèi)使用實(shí)例(java中stack的使用方法)

    java堆棧類(lèi)使用實(shí)例(java中stack的使用方法)

    java中stack的使用方法,堆棧是一種"后進(jìn)先出"(LIFO) 的數(shù)據(jù)結(jié)構(gòu), 只能在一端進(jìn)行插入(稱(chēng)為"壓棧") 或刪除 (稱(chēng)為"出棧")數(shù)據(jù)的操作,下面看示例吧
    2013-12-12

最新評(píng)論

浦城县| 亚东县| 灌阳县| 合山市| 当雄县| 铜梁县| 郧西县| 绥芬河市| 晴隆县| 监利县| 临江市| 镇江市| 法库县| 手机| 迭部县| 鄱阳县| 临猗县| 连南| 全州县| 鄂托克旗| 沈阳市| 始兴县| 怀仁县| 老河口市| 长春市| 陇川县| 云和县| 抚宁县| 沂源县| 新化县| 边坝县| 乌拉特前旗| 上蔡县| 永靖县| 宣城市| 金昌市| 新昌县| 鹤庆县| 临潭县| 宝坻区| 遵化市|