IOC实例化对象具体体现及依赖注入:
public class TestIOC {
public static void main(String[] args) {
//spring应用上下文
//ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("conf/spring-service.xml");
//实例化对象
//Date date=context.getBean("date",Date.class);
//System.out.println(date);
//http://www.baidu.com/login.html 跳转到 http://www.baidu.com/index.html
//直接输入 http://www.baidu.com/index.html 跳转到 http://www.baidu.com/login.html
//bean的作用域 singletonv request session
//FanDian fanDian =context.getBean("fanDian",FanDian.class);
//System.out.println(fanDian.hashCode());
//fanDian.say();
//fanDian =context.getBean("fanDian",FanDian.class);
//System.out.println(fanDian.hashCode());
//fanDian =context.getBean("fanDian",FanDian.class);
//System.out.println(fanDian.hashCode());
//Person person = context.getBean("person",Person.class);
//person.say();
}
}
<bean id="person" class="com.whc.noteserver.test.Person">
name就是person里的fanDian ref就是指向spring-servie.xml中id为fanDian的bean
<property name="fanDian" ref="fanDian"></property>
</bean> -->
<context:component-scan base-package="com.whc.noteserver.test"></context:component-scan>
<bean id="person" class="com.whc.noteserver.test.Person">
<property name="Username" value="zhangsan"></property>
</bean>
使用IOC实例化对象的方式
1 .通过无参的构造方法来创建 通过set方法注入属性
public class User {
public User() {
System.out.println(“User的无参构造方法”);
}
private String name;
public void setName(String name) {
this.name = name;
}
public void show(){
System.out.println(“name=”+name);
}
}
bean.xml
<property name="fanDian" value="fanDian"></property>
</bean>
</bean>
*2 .通过有参的构造方法来创建*
public class User {
private String name;
public User(String name) {
this.name = name;
}
public void show(){
System.out.println("name="+name);
}
}
<property name="fanDian"value=“fanDian”>
一分耕耘一分收获