Spring 研究spring创建对象的方式

一共三种方式:

        1、调用默认构造函数。
        2、利用静态工厂方法创建。
        3、利用实例工厂方法创建


====================================

(调用默认构造函数创建对象)
        在 cn.google.spring.createobject.method

            public  class  HelloWorld{
                public  HelloWorld(){
                    s.o.p("new instance");
                }
                public   void  hello(){
                    s.o.p("hello  by  spring");
                }
            }
创建配置文件:applicationContext-createObject-method.xml
		<bean   id="helloWorld_C_M"   class="cn.google.spring.sh.ioc.createobject.HelloWorld">

同时配置到 applicationContext.xml 中

		public  class  CreateObjectTest{
				@Test
				public  void  testCreateObject(){
					//启动spring 容器
						ApplicationContext    context  = new ClassPathXmlApplicationContext("applicationContext.xml");

					// 从spring容器中把对象取出来
						HelloWorld  helloWorld  = context.getBean("helloWorld_C_M");

					//对象调用方法
						helloWorld.hello();
				}
			}

 结果: new  instance 

            hello by  spring

====================================

(利用静态工厂方法创建,spring调用工厂方法产生对象,但真正创建对象还是由程序员完成)

		public  class  HelloWorldFactory{
			public  static  HelloWorld  getInstance(){
				return  new  HelloWorld();
			}
		}
配置文件applicationContext-createobject-method.xml

		<!--  factory-method:工厂方法  -->
		<bean   id="helloFactory"   class="cn.google.spring.sh.ioc.createobject.HelloWorldFactory"   factory-method="getInstance">
测试方法:
			public  class  CreateObjectTest{
				@Test
				public  void  testCreateObject(){
					//启动spring 容器
						ApplicationContext    context  = new ClassPathXmlApplicationContext("applicationContext.xml");

					// 从spring容器中把对象取出来
						HelloWorldFctory  factory  = (HelloWorldFactory)context.getBean("helloFactory");

					//对象调用方法
						factory.hello();
				}
			}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值