外部Bean注入也是一种Bean操作的属性注入 但这次我们要注入的是一个类对象
我们先创建spring项目 引入基本依赖
然后在src下创建两个包 gettingStarted 和 generate 这个名字可以随便取 但和我同名 可以让你们不会出现 名称不一样导致资源找不到的问题
然后在
gettingStarted包下创建一个 类 一个 接口
InterfaceUser 接口 参考代码如下
package gettingStarted;public interface InterfaceUser {public void setName(String name);public String getName();public void setAge(int age);public int getAge();
}
这就是一个很普通的接口 里面定义了四个抽象方法
分别是两个属性 (name age) 的get和set方法
user类 参考代码如下
package gettingStarted;public class user implements InterfaceUser {public String name = "小裴";public int age = 13;public void setName(String name){this.name = name;}public String getName(){return name;}public void setAge(int age){this.age = age;}public int getAge(){return age;}
}
user类实现了InterfaceUser接口 重写了 这几个抽象的方法 并定义了两个值 name 和 age
然后在generate包下创建 organization类 参考代码如下
package generate;import gettingStarted.InterfaceUser;public class organization {public InterfaceUser User;public void setUser(InterfaceUser User){this.User = User;}public InterfaceUser getUser() { return this.User; }public void verifyOutput() {System.out.println(User.getName());System.out.println(User.getAge());}
}
这里 我们定义了一个InterfaceUser对象类型的变量(User) InterfaceUser 就是之前我们定义的 InterfaceUser 接口 我们需要一个这样的对象
然后声明了这个 InterfaceUser 对象的set方法
然后 verifyOutput方法 就调用了InterfaceUser中的两个get方法 获取值
然后 我们在src下创建 bean.xml
参考代码如下
这里 我们定义了organization类的对象时 直接 通过property给他的set复制 name User 代表指向类中的 User变量的set方法 然后 这个ref指向了user 就是我们第一个定义的bean创建了gettingStarted.user的对象 然后将这个对象 给了ref
简单说 就是 organization 接受一个InterfaceUser对象 xml 创建了gettingStarted.user的对象 然后将这个对象给到organization 中User的set方法 这时 organization 的 User就接到了一个 InterfaceUser实现为user类的对象
然后我们在src下创建 text
代码如下
import generate.organization;
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");organization organization = context.getBean("organization", organization.class);organization.verifyOutput();}
}
我们读取了 bean.xml的配置 然后通过反射创建对象 然后通过organization对象调用里面的verifyOutput方法
运行结果如下
这就是外部Bean注入 简单说就是注入一个类对象
上一篇:3.3 行列式按某行某列展开
下一篇:进程和线程