为什么实际功能类,如Person类,要把接口定义为一个属性,而且如果在一个包里面就不需要Import吗?...

 

将接口定义为属性就可以 直接调用这个接口,  由于接口中有抽象方法, 爱屋及乌,就可以直接调用接口中的 方法,而不需要考虑实现类.

没有实现类是不行的,只不过将实现类的导入放到了  xml 的bean的 property中 ref 引入.

 

这样在一个功能类的内部,就只需要调用接口编程.

只不过,最后在Main 的内部,要引入Spring组件,读取xml文件,

package com.jike.spring.chapter01;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;


public class MainOne {

    public static void main(String[] args) {
        Resource r = new FileSystemResource("helloMessage.xml");//读取xml配置文件
        BeanFactory f = new XmlBeanFactory(r);           //用XmlBeanFactory来加载配置文件,启动IOC容器  //需要配置文件启动容器
        Person person = (Person)f.getBean("person");        //从IOC容器中获取Person类的实例.          // 创建person的实例吗???
        String s = person.sayHello();                //用person实例来输出
        System.out.println("The person is currently saying"+s);
    }

}

 

转载于:https://www.cnblogs.com/xuedexin/articles/5682926.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值