(1)基于xml的配置:
applicationContext.xml:
<bean id="IntelCpu" class="IntelCpu类的完整路径"></bean>
<bean id="Computer" class="Computer类的完整路径">
<property name="cpu" ref="IntelCpu"></property>
//把实体IntelCpu赋值给Computer类中的cpu属性
</bean>
测试类:
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
Computer pc = (Computer)ctx.getBean("Computer");
//通过pc. 调用Computer 类中的方法
pc.play();
(2)基于注解的配置:
applicationContext.xml:
<context:annotation-config />
<context:component-scan base-package="包完整路径">
</context:component-scan>
实体类:
//在实体bean前面加该注解
@Component("Computer") //默认是类名,但首字母小写,自己可以改;也可以getBean("computer")时写小写
public class Computer {
//属性前加此注解,也可以是@Value
@Resource
private Cpu cpu;
}
测试类与上述方法相同
(3)完全基于java的配置:
与第二种配置注解一样,但是不需要xml文件了。
@Configuration
@ComponentScan("包完整路径") //多加两个注解
public class Test {
ApplicationContext ctx = new AnnotationConfigApplicationContext(Test.class);
Computer pc = (Computer)ctx.getBean("Computer");
pc.play();
}