博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day38 07-Spring框架Bean的时候方式
阅读量:4697 次
发布时间:2019-06-09

本文共 2472 字,大约阅读时间需要 8 分钟。

Spring是自动帮我们创建对象的,有几种创建Bean的方式呢?

构造方法实例化:(默认无参数)其实就是反射new Instance().

静态工厂实例化:

实例工厂实例化:

一般不会改变它实例化的方式。其他两种了解一下即可。

package cn.itcast.spring3.demo2;/** * 使用无参数的构造方法实例化 * @author zhongzh * */public class Bean1 {/*public Bean1(String name){//这里写了一个带参构造,那么无参构造就不执行了    //有一个有参无参就没有了    }*/    public Bean1(){        System.out.println("使用无参数的构造方法实例化Bean1方法.....");    }}
package cn.itcast.spring3.demo2;/** * 使用静态工厂的方式实例化 * @author zhongzh * */public class Bean2 {   }
package cn.itcast.spring3.demo2;/** * 使用实例工厂实例化 * @author zhongzh * */public class Bean3{    //加载配置文件的时候就会加载这个类了,会帮你创建了        }
package cn.itcast.spring3.demo2;/** * Bean2的静态工厂 * @author zhongzh * */public class Bean2Factory {   public static Bean2 getBean2(){     System.out.println("静态工厂的获得Bean2的方法....");    return new Bean2();//什么是静态工厂?就是这里提供一个静态的方法来返回Bean2的实例          }}
package cn.itcast.spring3.demo2;/** * 使用实例工厂 * @author zhongzh * *///实例工厂与静态工厂的唯一区别是它里面的方法是不是静态的public class Bean3Factory {        public Bean3 getBean3(){            System.out.println("Bean3实例工厂的getBean3方法.....");            return new  Bean3();        }}
package cn.itcast.spring3.demo2;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;/** * Bean的实例化的方式 *  * @author zhongzh * */public class SpringTest2 {@Testpublic void demo1(){    //无参数的构造方法的实例化    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");//实例化工厂    Bean1 bean1 = (Bean1) applicationContext.getBean("bean1");//通过配置文件里面配置的key获得bean1       System.out.println(bean1);  }@Testpublic void demo2(){    //静态工厂的实例化    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");//实例化工厂    Bean2 bean2 = (Bean2) applicationContext.getBean("bean2");//通过配置文件里面配置的key获得bean2        System.out.println(bean2);  }@Test//实例工厂实例化public void demo3(){    //静态工厂的实例化    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");//实例化工厂    Bean3 bean3 = (Bean3) applicationContext.getBean("bean3");//通过配置文件里面配置的key获得bean2        System.out.println(bean3);  }}

 

转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/6721137.html

你可能感兴趣的文章
在 Visual Studio 调试器中指定符号 (.pdb) 和源文件
查看>>
直接量
查看>>
leetcode 115. 不同的子序列(Distinct Subsequences)
查看>>
三元表达式
查看>>
Oauth支持的5类 grant_type 及说明
查看>>
客户端第一天学习的相关知识
查看>>
LeetCode - Same Tree
查看>>
Python dict get items pop update
查看>>
[置顶] 程序员必知(二):位图(bitmap)
查看>>
130242014036-(2)-体验敏捷开发
查看>>
constexpr
查看>>
Nginx 流量和连接数限制
查看>>
课堂作业1
查看>>
IE8/9 本地预览上传图片
查看>>
Summary of CRM 2011 plug-in
查看>>
Eclipse+Maven环境下java.lang.OutOfMemoryError: PermGen space及其解决方法
查看>>
安全漏洞之Java
查看>>
Oracle 组函数count()
查看>>
Session的使用过程中应注意的一个小问题
查看>>
SDK,API,DLL名词解释
查看>>