spring中bean的一些知识点

     在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,更多Java专业知识,广州疯狂java培训为你讲解;

  知识点1:

  实例化bean的3种方法。

  1. 使用类构造器 (90%用这个方法)

  2. 使用静态工厂方法

  3. 使用实例化工厂

  知识点2:

  看这段代码

  ApplicationContextcontext=new ClassPathXmlApplicationContext("spring.xml");

  Person p=(Person)context.getBean("fish");

  p.setName("aaa");

  p.setId("13");

  System.out.println(p.getName()+p.getId());//结果是aaa 13

  Person p2=(Person)context.getBean("fish");

  p2.setName("bbb");

  p2.setId("14");

  System.out.println(p2.getName()+p2.getId());//结果是bbb 14

  System.out.println(p.getName()+p.getId());//结果是bbb 14

  这说明了一件事P=P2也就是说两个是同一个对象。

  那么如何让bean每次都创建不同的对象呢

  在scope里面添加这个属性。这样就创建不同的对象了。

  所以这次相同的上面代码输出的结果是

  结果是aaa 13

  结果是bbb 14

  结果是aaa 13

  说明对象已经不是同一个了。

  这里说一下bean的作用域范围有singleton,prototype,request,session

  如果是默认情况下singleton:在实例化容器的时候,你就bean中的类就已经被实例化了。

  但是如果是prototype:你在Personp2=(Person) context.getBean("fish");

  才会被实例化。

  当然我们可以通过手工的方法也可以延迟实例化的时间。

  lazy-init="true"

  如果spring不停止,那么bean就不会销毁。

  知识点3:对bean的属性如何依赖注入:

  1. 构造器赋值

  如何利用构造器赋值呢:

  Index表示为第几个属性赋值。O表示第一个参数 name是你的属性名,ref是对引用类型赋值,type是值的类型,如果是一般类型就用value

  2. 利用set方法:在上面一篇《利用set方法的注入》已经详细说了。

  3. 利用field 用于注解方式

  依赖注入有两种方式,一种是手工装配,和自定装配。不过建议手工装配。

  疯狂Java培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。技术知识沉淀深厚的老师,让你感受Java的魅力,激发你对于编程的热爱,让你在半年的时间内掌握8-10万的代码量,掌握Java核心技术,成为真正的技术高手;通过大量全真企业项目疯狂训练,迅速积累项目经验。让你成为技能型的现代化高端人才,迅速获得高薪就业!时间不等人,赶紧联系我们吧!疯狂java培训中心地址:广州天河区车陂沣宏大厦3011。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值