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="" />

bean的实例化的更多相关文章

  1. Spring中Bean的实例化

                                    Spring中Bean的实例化 在介绍Bean的三种实例化的方式之前,我们首先需要介绍一下什么是Bean,以及Bean的配置方式. 如果 ...

  2. Spring学习笔记之Bean的实例化

    一.bean的实例化方法有3种, 1.构造器实例化 2.静态工厂方法实例化 3.实例工厂方法实例化 二.用构造器来实例化 <bean id="ShunDao" class=& ...

  3. Spring Ioc介绍和Bean的实例化

    一.IoC:Inverse of Control 控制反转   //  依赖注入  Dependency Injection 控制:某一接口具体实现类的选择权 反转:从调用者中移除控制权,转交第三方 ...

  4. 【Spring】Spring bean的实例化

    Spring实现HelloWord 前提: 1.已经在工程中定义了Spring配置文件beans.xml 2.写好了一个测试类HelloWorld,里面有方法getMessage()用于输出" ...

  5. bean的实例化方式

    spring中bean的实例化方式有三种,1.构造器实例化,2.实例工厂实例化,3.静态工厂实例化 1.构造器实例化方式 public class bean1 { public bean1() { } ...

  6. Spring源码解析(四)Bean的实例化和依赖注入

    我们虽然获得了Bean的描述信息BeanDefinition,但是什么时候才会真正的实例化这些Bean呢.其实一共有两个触发点,但是最后实际上调用的是同一个方法. 第一个:在AbstractAppli ...

  7. 【spring源码】bean的实例化(转载)

    首先来看一段代码,看过上一节的朋友肯定对这段代码并不陌生.这一段代码诠释了Spring加载bean的完整过程,包括读取配置文件,扫描包,加载类,实例化bean,注入bean属性依赖. 上一节介绍了Sp ...

  8. 【初识Spring】对象(Bean)实例化及属性注入(xml方式)

    title: [初识Spring]对象(Bean)实例化及属性注入(xml方式) date: 2018-08-29 17:35:15 tags: [Java,Web,Spring] --- #初识S ...

  9. Spring中Bean的实例化与DI的过程

    引言 前文我们介绍了关于如何学习Spring的源码以及解析了spring中加载配置文件注册Beandefinition的过程.今天我们继续学习DI的过程. 创建实例和DI过程 IOC和DI都是对spr ...

随机推荐

  1. dp暑假专题 训练记录

    A 回文串的最小划分 题意:给出长度不超过1000的字符串,把它分割成若干个回文字串,求能分成的最少字串数. #include <iostream> #include <cstdio ...

  2. 马尔科夫随机场模型(MRF-Markov Random Field)

    原文: http://blog.sina.com.cn/s/blog_92c398b00102vs3q.html 马尔科夫过程​ 隐马尔科夫过程​​ 与马尔科夫相比,隐马尔可夫模型则是双重随机过程,不 ...

  3. 机器学习-数据可视化神器matplotlib学习之路(五)

    这次准备做一下pandas在画图中的应用,要做数据分析的话这个更为实用,本次要用到的数据是pthon机器学习库sklearn中一组叫iris花的数据,里面组要有4个特征,分别是萼片长度.萼片宽度.花瓣 ...

  4. Ubuntu14.04 ,libboost_filesystem.so.1.54.0: cannot open shared object file: No such file or directory

    macname@ubuntu:/opt$ roslaunch blarospack : error : cannot open shared object file: No such file or ...

  5. Nginx 多重条件判断

    server{ listen 80; server_name xxx.com; index index.html index.htm index.php admin.php; root /home/w ...

  6. 《A_Pancers》第一次作业:团队亮相

    一.团队及团队成员介绍 1> 队名:A_Pancers 2> 团队成员组成: 201571030310/龙正圆(小组长) 201571030329/杨环宇      20157103030 ...

  7. input聚焦后光标移动至末尾

    var valSrc=obj.val();obj.val(“”).focus().val(valSrc);

  8. 基因家族收缩和扩张分析 & Selective loss pathway & 泛基因组

    套路 这通常就是基因组组装后的必做分析,通过比较基因组学的手段进行分析,可以知道所研究物种在进化过程中哪些核心基因家族发生了变化,从而导致了其特殊的适应性机制的形成. 参考: Extremotoler ...

  9. codeforces 555b//Case of Fugitive// Codeforces Round #310(Div. 1)

    题意:有n-1个缝隙,在上面搭桥,每个缝隙有个ll,rr值,ll<=长度<=rr的才能搭上去.求一种搭桥组合. 经典问题,应列入acm必背300题中.属于那种不可能自己想得出来的题.将二元 ...

  10. Trailing Loves (or L'oeufs?) CodeForces - 1114C (数论)

    大意: 求n!在b进制下末尾0的个数 等价于求n!中有多少因子b, 素数分解一下, 再对求出所有素数的最小因子数就好了 ll n, b; vector<pli> A, res; void ...