spring基本用法总结二

创建bean的三种方式:

1.使用构造器创建Bean(constructor-arg )(前面已介绍)

2,使用静态工厂方法创建Bean

     《1》bean中的class使用静态工厂

       《2》factory-method使用静态工厂的静态方法

          如果静态方法需要参数,需要使用<contructor-arg value="">元素传入参数

          接下来用其他具体的bean进行注入

 3.调用实例工厂方法创建bean

            <1>bean中的没用class属性,使用factory-bean=""属性进行设置

            <2>使用factory-method=“”“”实例方法进行创建。其他的一样

深入理解Bean:

           spring的大量工作就是管理bean的:

     <1    避免配置文件臃肿

         抽象Bean:可以被集成的Bean、不可被实例化、属性abstract='true'进行设置

         子bean:通过parent定义父bean,当配置信息和父bean不一致的重复值时被覆盖。\区别Java的继承(1,spring可以是不同类型,java是特殊父类型、2spring是参数延续,java是方法属性的延续3,spring子beana不可再被继承)

     < 2    工厂bean      特殊的工厂bean与之前不同,这种工厂必须实现FactoryBean接口,返回获取任意类的、任意静态Field的值,获取beanid时获取的不是bean而是factoryBeand的产品,前面加上&符号时返回的是工厂对象本身。

    <3   获取beanid   使用BeanNameAware接口,类实现该接口,并实现setBeanName方法,就可以在程序中调用Beanname了。

强制初始化Bean,当一些Bean之间的依赖关系不够直接时,初始化就会发生异常,需要强制显示在bean之前的bean,depands-on=" '属性。

Bean的生命周期:

             spring可以管理singleton的Bean的生命周期,对Prototype只是负责创建,

    <1 对于singleton的进行管理,依赖关系注入之前的行为

                       《1》使用init-method属性

                         《2》实现initializingBean接口,有一个afterPropertiesSet()方法。



猜你喜欢

转载自blog.csdn.net/u010446936/article/details/54410521
今日推荐