Spring学习笔记2-IOC

本文深入探讨了Spring框架中Bean的配置方法,包括属性自动装配、依赖注入、生命周期管理等内容,并介绍了如何利用SpEL进行表达式操作,以及Bean的类型与使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<context:property-placeholder location="classpath:test.properties"/>
<bean id="" 
class="" 
autowire="byType|byName|constructor(针对所有属性全部自动装配)" 
abstract="true该Bean被当做模板而不是实例" 
depends-on="前置依赖Bean"
scope="singleton|prototype|request|session默认singleton即单例"
factory-method="指定静态/实例工厂方法的名称"
factory-bean="拥有工厂方法的实例Bean">
<!-- 按索引匹配入参 -->
<constructor-arg index="0" value="宝马"/>
<!-- 按类型匹配入参 -->
<constructor-arg type="java.lang.String" value="宝马"/>
<property name="car" value="宝马"/>
<property name="service" ref="SEService"/
<null     name="name"/>
</bean>
1、可以使用util schema集合标签定义独立的集合Bean。
2、p命名空间
3、PropertyPlaceholderConfigurer从properties文件来加载值,java代码中通过${变量名}来引用properties信息,而properties通过${属性名}来引用java中的属性
4、Spring表达式语音,简称SpEL,是一个支持运行时查询、操作对象图的强大的表达式语言,#{.......},可以实现:
通过bean的id对bean进行引用、调用方法及属性、计算表达式的值、正则表达式匹配
<property name="count" value="#{5}">
<property name="name" value="#{'Jam'}"/>
<property name="prefix" value="#{prefixGenerator}"/>配置Bean与prefix属性之间的关系
<property name="suffix" value="#{prefixGenerator.suffix}"/>属性
<property name="suff" value="#{prefixGenerator.getSuff().toUpperCase()}"/>调用其他方法及链式操作
<property name="count" value="#{counter.total + 24}"/>
<property name="count" value="#{counter.total / cunter.size}"/>
<property name="result" value="#{coutner.total  == 100 }"/>
<property name="result" value="#{counter.total  == 100 and counter.size == 10 }"/>
<property name="result" value="#{counter.total  == 100 ? 100:counter.total }"/>
<property name="pi" value="#{T(java.lang.Math).PI}">通过T()调用一个类的静态方法,首先用T()返回一个Class然后再调用相应的静态方法或静态属性
5、Bean的生命周期方法
通过构造器或工厂方法创建Bean实例
为Bean的属性设置值以及对其他Bean的引用
调用Bean的初始化方法,可通过init-method属性配置,这里注意后置处理器BeanPostProcessor接口
使用Bean
当容器关闭时调用Bean的销毁方法,可通过destroy-method属性配置,这里注意后置处理器BeanPostProcessor接口
6、Spring中有两种类型的Bean,一种是普通Bean,另一种是工厂Bean即FactoryBean(注意factory-method属性)
工厂Bean跟普通Bean不同在于其需要实现FactoryBean接口且返回的对象不是指定类的一个实例,而是返回该工厂Bean的getObject方法锁返回的对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值