IOC容器装配Bean的四种方法(xm配置方式l)

第一种 无参构造器(最常用) :

    代码:

        实体类:

                public class Bean1{

            }

        xml配置:

            <bean name="bean1" class="cn.itcast.spring.Bean1"/>

spring在创建bean的时候回自动调用无参构造来实例化,相当于new Bean1();

第二种 静态工厂方法:

       代码:

             实体类:

                public class Bean2{

            }

            public class Bean2Factory{

                public static Bean2 initBean(){

                  return new Bean2();

          }

    }
  xml配置:

            <bean name="bean2" class="cn.itcast.spring.Bean2" factory_method="initBean" />

第三种  实例化工厂方法:

        代码:

             实体类:

                public class Bean3{

            }

            public class Bean3Factory{

                public Bean3 initBean(){

                  return new Bean2();

          }

    }
  xml配置:

            <bean name="bean3" class="cn.itcast.spring.Bean3" factory_method="initBean" />

第四种  FactoryBean方法:

        代码:

             实体类:

                public class Bean4{

            }

        public class MyFactory implements FactoryBean<Bean4>{
            /**
             * spring会自动调用getObject方法
             */
            @Override
                public Bean4 getObject() throws Exception {
                System.out.println("Bean4");
                return new Bean4();
            }

    xml配置:

            <bean name="bean4" class="cn.itcast.spring.MyFactory "/>

第一种最常用,第二、三、一些框架初始化的时候用的多、第四种spring底层用的多。


你可能感兴趣的:(bean的实例化)