第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

spring的工廠模式和依賴注入的實例解析(*.ClassNotFoundException)

標(biāo)簽:
Java
//墨盒接口

public interface Ink {
//  获得颜色方法
public String getColor();

}
//彩色墨盒实现类

public class ColorInk implements Ink {

    public String getColor() {
        // TODO Auto-generated method stub
        return "得到财色墨盒";
    }

}
//灰色墨盒实现类

public class GreyInk implements Ink {

    public String getColor() {
        // TODO Auto-generated method stub
        return "灰色墨盒";
    }

}

墨盒工厂

public class InkFactory2 {

public Ink getInk(String string) {
    if (string.equalsIgnoreCase("color")) {

        return new ColorInk();
    }else {
        return new GreyInk();

    }   

}

}

测试类

public static void main(String[] args) {

InkFactory2 iFactory2=new InkFactory2();
        Ink ink=null;
    ink=    iFactory2.getInk("color");
    System.out.println(ink.getColor());

     ink=   iFactory2.getInk("grey");

System.out.println(ink.getColor());

将工厂模式交给spring管理,通过依靠配置文件,bean的配置实现工厂实例


<beans>

<bean id="color" class="com/pb/ColorInk.java" />

<bean id="grey" class="com/pb/GreyInk" />

</beans>
测试

//通过上下文获得配置文件信息。(此处报错)
    ApplicationContext aContext=new 
                ClassPathXmlApplicationContext("applicationContext.xml");
Ink ink=null;
//通过getbean的方法传参 “color”获得工厂实例。
ink=(Ink) aContext.getBean("color");
System.out.println(ink.getColor());

ink=(Ink) aContext.getBean("grey");
System.out.println(ink.getColor());

然后重点来了,报错,这就是本文另一个目的了.
" org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com/pb/ColorInk.java] for bean with name 'color' defined in class path resource [applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: com/pb/ColorInk.java
at
java.lang.ClassNotFoundException: com/pb/ColorInk.java

还有一个疑问:
<bean id="color" class="com/pb/ColorInk.java" />

<bean id="grey" class="com/pb/GreyInk" />

配置的class 有没有src 有没有java,有什么区别和意义吗,不过不管哪种配置,报错的内容都一样。

然后百般努力,搜索,求助,

<bean id="color" class="com.pb.ColorInk" />

<bean id="grey" class="com.pb.GreyInk" />

正常输出。

这就是. //的区别。一个符号错了的的路径错误。

有位前辈memories告诉我一个方法,推荐给大家

配置文件中有文件名后缀的用/,没有的用.

实在是大赞,明了实用。

还有有谁明确一下这两者的区别以及应用场合吗?

谢谢!!!

點擊查看更多內(nèi)容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消