两种注入方式
设值注入
- 配置文档
<bean id="person" class="com.sun.spring.Person">
<property name="iHelloMessage" ref="helloChina"></property>
</bean>
- 对应类设置为get/set形式
package com.sun.spring;
public class Person {
private IHelloMessage iHelloMessage;
public IHelloMessage getiHelloMessage() {
return iHelloMessage;
}
public void setiHelloMessage(IHelloMessage iHelloMessage) {
this.iHelloMessage = iHelloMessage;
}
public String sayHello() {
return this.iHelloMessage.sayHello();
}
}
构造注入
<bean id="person" class="com.sun.spring.Person">
<constructor-arg name="iHelloMessage" ref="helloChina"> </constructor-arg>
</bean>
package com.sun.spring;
public class Person {
private IHelloMessage iHelloMessage;
public Person(IHelloMessage iHelloMessage){
this.iHelloMessage=iHelloMessage;
}
public String sayHello() {
return this.iHelloMessage.sayHello();
}
}
加载配置文件
//加载配置文件
ApplicationContext context = new ClassPathXmlApplicationContext("context.xml");
Person person = (Person) context.getBean("person");
Bean
作用域
生命周期
示例:初始化start与结束stop方法是在对应的类中创建。
<bean id="beanLifeCycle" class="com.imooc.lifecycle.BeanLifeCycle" init-method="start" destroy-method="stop"></bean>