Bean的拓展和应用
一.Bean的作用域
1.单例模式(spring的默认机制,即拿相同的bean的时候对象都是相同的,不会造成资源浪费)
<bean id="user" class="top.lostyou.pojo.user" p:name="jay周" p:sex="男" scope="singleton"/>
2.原型模式:每次从容器中get的时候,都会产生一个新的对象!(比较浪费资源)
<bean id="user" class="top.lostyou.pojo.user" p:name="jay周" p:sex="男" scope="prototype"/>
3.其余的request(每次请求中生效),session,application(全局生效)都是web开发的时候用的
二.Bean的自动装配
自动装配是spring满足bean依赖的一种方式!
spring会在上下文中自动寻找,并且自动给bean装配属性!
在spring中一共有三种自动装配的方式
- 在xml中显示的配置
- 在Java中显示的配置
- 隐式的自动装配bean(重点)
第一种:byName方式的自动装配
<bean id="cat" class="top.lostyou.pojo.Cat"/> <bean id="dog" class="top.lostyou.pojo.Dog"/> <!-- byName:会自动在容器上下文中查找,和自己对象的set方法后面的值对应的 bean id --> <bean id="People" class="top.lostyou.pojo.People" autowire="byName"> <property name="name" value="maming"/> </bean>
第一种:byType方式的自动装配
<bean id="cat" class="top.lostyou.pojo.Cat"/> <bean id="dog" class="top.lostyou.pojo.Dog"/> <!-- byName:会自动在容器上下文中查找,和自己对象的class(类型)对应的 bean --> <bean id="People" class="top.lostyou.pojo.People" autowire="byType"> <property name="name" value="maming"/> </bean>
注意点:
- byName的自动装配方式需要保证bean的id唯一性,并且这个bean需要和自动注入的属性set方法一致!
- byType的自动装配方式需要保证bean的类型唯一性,并且这个bean需要和自动注入的属性类型(class)一致!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix