bean的实例化

时间:2022-12-09 20:55:44

bean的实例化

构造器方式

静态方法方式

普通工厂方式

一般的,默认bean实例化使用的是构造器方式,调用的是无参的构造方法

package com.Model;

public class Dog {
private String name;
private int age; public Dog(){
System.out.println("初始化Dog类");
}
public Dog(String name,int age){
this.name=name;
this.age=age;
System.out.println("这是有参数的构造方法");
}
public void shou(){
System.out.println("旺旺");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
} }
public void testContext(){
ApplicationContext ac=
new ClassPathXmlApplicationContext("com/test/applicationContext.xml");
Dog dog=(Dog) ac.getBean("dog");
dog.shou();
//System.out.println(dog.getName()+"\t"+dog.getAge());
}

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAAkCAIAAACvyYcmAAACr0lEQVR4nO2a25HDIAxFVZcKoh5VQzMuRvthGzBIPJzHrDP3TD5sLIQQN4J4QrojrLJpCbPmhqgsRjtT3UtVN9EQ60ZVjaExjkqkFOpxORx+KPkvAjjMzl5l5MJ56JDijEpUd7fiqyMpafMTnLmngfb4UybKvMVQxGn5GdLGI5zHalPd2pchxVDPXVhlI6Xqcxrtc0ufNHDZzlbK9kdtKJPiCJQTt4svj7hPJuZbCWckkruw1GHEMBYH03WUMkIrP5cuRbtw9hM4p8407vixceJJg8Z9pdPcu/Eny9x4sadByvqYenyLMfgH3BJHUvpUrZ43Bv+L1yoH+GkgDuBCqssnj9a+76F8+uopZ53vj/gzHIlbyuD/F4c3IoSyhJEssqgMOremw+H120nO2wswiSsC89o07mffU9KHlspUdl/rwMP9Hs8Ipd+r4/abm8s3R/wx3O/xahXxyk8rDmOdNuGLA/P1+xqThQ10cMvAZOUwPC6WloMYsiRieFEfMxMBQ471M7/i7fWNRPcLSaYUh+omzOe79qKqlIqJ4WhkkUBEu/3wSAF9zEPexjx/5vD2FM/eDuQqjnQrTEklGgOd7+CFT/NNmAoba4beI9DHXrn+XlCKYLhr9D1nTHFswtftJQaW7SgsqbEsM9YRyMCOAVyZVUPdbVEcHYMDc1uZE8fZajAoV6DL1GHCXGAz76viyLcXceSboijorgJt2i9bjzMW9HGD5RdZt88cvdv6p2yhk+sjs52ZK3F4kUAiSwxOi1VCb+wans83bv/tmaNjDInM8+A0FaUDfyP6CA8WB/g0EAdwgTiAy+C02D++LRmDx+Guq7nMS8bg6eRlnhTHvDF4OhAHcIE4gAvOHMClrhz9HyBLxuDpYFsBLhAHcMGZA7igcgCX3qvxBS8Qxy/yB3KOQyyJozbiAAAAAElFTkSuQmCC" alt="" />

配置让spring容器调用参构造方法,需要在application.xml的对应bean里面配置

<bean id="dog" class="com.Model.Dog" >
<constructor-arg index="0" value="阿旺"></constructor-arg>
<constructor-arg index="1" value="5"></constructor-arg>
</bean>
@Test
public void testContext(){
ApplicationContext ac=
new ClassPathXmlApplicationContext("com/test/applicationContext.xml");
Dog dog=(Dog) ac.getBean("dog");
dog.shou();
System.out.println(dog.getName()+"\t"+dog.getAge());
}

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAR8AAABICAIAAABAyWbhAAAEn0lEQVR4nO2d7ZHbIBBAqYuCVI9KuCrUjJtwB+SHchKCZVl9rKXE781NxkYLrBBP2Nh3CT8/P+/3+/1+p4UxpvGVcmJMa8GU4iiUx1DWSim9xjRMZWFKaRqq4CmFkMJQ9huHv+2Epf0sgb9hv7XyzMe4dj0seU4phLK6lF+ZSU49PkPj3JeO5vyXkcjHbRqyPKV2utT5jHHtqx7qOj5PaRrKcy/ilfNS2hfLX2MK2aVZmj0wDmL+rXG4apx7XoTMrnl+5z+/Wc6DuPwsGeflUZpz86H6TIx2DWGdebO9a4/zCUzr03H4zWRcq8SxTGMa+nbFsO0lz1Aan02VsLm6SztDXIdODFbakWnks3Q6zVNtOXc1/yVyLWzHy+fVim+3M2zL8+uyYxwa+TfH4aJxTn0vgrB2HaN1xzofDPBvctquKN14ZCb5LgXw/xGvXbsAYAt2AXjRtyuEoNVvo9ey5nciUqlbHLok0pjVsZirasEnKe0Sr5l98lmqdI8qYUqJ8qDb8uWRlhyMzbaOYtfzEdauvYuAZe1Swg5UEdPL/9XTFltQ0tCzEoP1tI+NRvcs4Gk07Tp81fVy/ZAlvjvdxSneilfa70a26gaD4faAOl6/IvAcduxqiFfRKGE33thmt0qdrShAXks/zVY7SuFnApDq+Zy1a19nDevsE0ipHrbrhtGubqd6DufvOJZRPVwR7mVjl30FSOocEudTMfuLprqFXVvyB6JvdXWxzXpxM7bQ8kfHKKFYcW9f8GH6uxqKFWVbhvdaXQlTpof4tFXS6lSs25I/SXa1jnafWqir6OdiGUB4CBfsGVrC9JhWYUsAMawVrwig26VU78pmF2CXXXoMPI2za1d9p987mZTG7TGtlaeuaNFViS9OULHLkr+xcNf9Dp5Dx65dc9Eoif2+nscrveQB3Xv8Gbvq8lvs2jvmcBeaXXtvooeXoJYw9azqeng+YaNderDlDqJ7a88HwR6L/E0o4wUrgi+0qziqe5UytWp5REWVNg/bdWDoLIeKLlpYOoUPU+7Irwd6F/LYVW/NdbHQMm/E6nV63cdiU3VMK/jw0HUTsIBdz4TfQAHwArsAvMAuAC+wC8ALzS7LLsWxYIBvQP4Wr7gLV9bcEwzwhcg78ka77MEAXwh2AXiBXQBe8L4LwAtt7dK3AXcFA3whvDIE8AK7ALzgfReAF6xdAF6Yvme4SxjsAphp2iXuAbZ2AncFA3wJfEcewAvsAvACuwC8wC4AL4S/uJZvSNg3KtjSACho/s+u+mdciU+TAXqcskuMxC6Amc7f4q1fKK41sQtApW+XWC7GiE8/ymuM691gmG7LAyCl7itD3a7Hve96jRGn4DGcsqs4dP+eIXbBk7jMrrr8BnhlCE+ib9e/uqsxDfgF99L8NHl5uol++PuuDdMQx7tzgK+muXbJ0c9eu8YY4viaH7/GyNoF93LcrjMxfqxvvFi44G6sdunbgOKG4T3bhgCPge/IA3iBXQBeYBeAF9gF4AV2AXiBXQBeYBeAF9gF4AV2AXiBXQBeYBeAF9gF4AV2AXiBXQBeYBeAF9gF4AV2AXiBXQBe/AFzm5Wuk3kWOwAAAABJRU5ErkJggg==" alt="" />