IOC创建对象的三种方式
发布时间 :
阅读 :
无参构造初始化
Anima类
1 2 3 4 5 6 7
| public class Animal { String name; public Animal(){ name="guolu"; } }
|
Bean配置:
1
| <bean id="animal" class="Animal" > </bean>
|
TestAnimal测试类:
1 2 3 4 5 6 7 8 9 10 11
| import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestAnimal { public static void main(String[] args) { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bean01.xml"); Animal animal01=(Animal) applicationContext.getBean("animal"); System.out.printf(animal01.name); } }
|
运行结果:guolu
有参构造初始化赋值
·通下标赋值(构造方法)
·通过数据类型赋值
·通过参数名赋值
注:匹配的是构造方法的顺序(必须创建构造方法)
通下标赋值(构造方法)
Anima类
1 2 3 4 5 6 7
| public class Animal { String name; public Animal(String name) { this.name=name; } }
|
Bean配置:
1 2 3
| <bean id="animal" class="Animal" > <constructor-arg index="0" value="金毛"></constructor-arg> </bean>
|
TestAnimal测试类:
1 2 3 4 5 6 7 8 9
| import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestAnimal { public static void main(String[] args) { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bean01.xml"); Animal animal01=(Animal) applicationContext.getBean("animal"); System.out.printf(animal01.name); } }
|
运行结果:金毛
通过数据类型赋值
Anima类
1 2 3 4 5 6 7
| public class Animal { String name; public Animal(String name) { this.name=name; } }
|
Bean配置:
1 2 3
| <bean id="animal" class="Animal" > <constructor-arg type="java.lang.String" value="二哈"></constructor-arg> </bean>
|
TestAnimal测试类:
1 2 3 4 5 6 7 8 9 10
| import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestAnimal { public static void main(String[] args) { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bean01.xml"); Animal animal01=(Animal) applicationContext.getBean("animal"); System.out.printf(animal01.name); } }
|
运行结果:二哈
通过参数名赋值
Anima类
1 2 3 4 5 6
| public class Animal { String name; public Animal(String name) { this.name=name; } }
|
Bean配置:
1 2 3
| <bean id="animal" class="Animal" > <constructor-arg name="name" value="铁蛋"></constructor-arg> </bean>
|
TestAnimal测试类:
1 2 3 4 5 6 7 8 9 10 11
| import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestAnimal { public static void main(String[] args) { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bean01.xml"); Animal animal01=(Animal) applicationContext.getBean("animal"); System.out.printf(animal01.name); } }
|
运行结果:铁蛋
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com