6.定义集合属性
例如:为Boss类添加一个List类型的属性
public class Boss {private List favorites = new ArrayList();...}
配置如下:
注意:不仅仅是List类型的属性,数组类型(int[],[])的属性也可以通过这种方式进行注入
Map类型和Set类型的注入方式与List类似
除此之外,List,Set,Map也可以使用Bean作为注入的对象,可通过注入
类型的属性注入
与Map的区别在于,只支持key和value为字符串 。
value1value2
通过util命名空间配置集合类型的Bean
如果希望配置一个集合类型的Bean,而不是一个集合类型的属性,可以使用util命名空间进行配置,需要在配置文件中引入util命名空间的声明 。
xmlns:util="http://www.springframework.org/schema/util"http://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util-4.0.xsd
配置一个List类型的Bean,可以通过list-class属性显示的指定List的实现类
配置一个Set类型的Bean,可以通过set-class属性显示的指定Set的实现类
配置一个Map类型的Bean,可以通过map-class属性显示的指定Map的实现类
方法注入
1.方法注入
声明一个接口,并声明一个()方法,现在通过方法注入,使每次调用()方法都返回一个新的car Bean
public interface MagicBoss {public Car getCar();}
2.方法替换
Bean实现接口后,可以使用该接口的方法去替换目标Bean的方法
例如:
Boss1的()方法返回Car1
public class Boss1 {public Car getCar() {Car car = new Car();car.setBrand("Car1");return car;}}
Boss2实现了org..beans...接口,该接口返回Car2
public class Boss2 implements MethodReplacer{@Overridepublic Object reimplement(Object obj, Method method, Object[] args) throws Throwable {Car car = new Car();car.setBrand("Car2");return car;}}
- 超详细解读+快速入门 一文快速了解ClickHouse 战斗民族的开源搜索引擎
- 寄存器操作 8、stm32F103入门学习--点亮LED(向库函数操作迈进!)
- 用GitHub Copilot在Vs Code里快速写代码,最详细使用教程
- 小白入门必学 | 一文带你快速了解计算机视觉
- 腾讯游戏信用分怎么快速恢复
- 1 Python新手入门———条件判断
- 如何对Word表格进行快速计算
- 3 机器学习系列_逻辑回归应用之Kaggle泰坦尼克之灾
- 如何快速拿下科目二
- Windows Server入门系列31 利用LC5破解用户密码