spring框架学习记录 2

** spring学习之 ioc容器与Bean的配置**
学习视频资源
ioc(inversion of control)控制反转
思想,把管理对象交给spring?spring管理对象的属性
BeanFactory接口有重载getBean方法,简单看其中几种

  1. Object getBean(String var1) 这种方法通过在applicationContext.xml文件中配置唯一的实体类id来创建对象,缺点是方法返回类型为object,使用需要强转
  2. <T> T getBean(Class<T> var1) 这种使用了泛型,通过实体类.class(反射?)的方式创建对象,因为使用了泛型,所以返回值类型不需要强转,但applicationContext.xml文件中不能一个class类定义多个bean,不然会报错,案例代码:配置文件
    调用代码
    demo
    报错
Exception in thread "main" org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [com.study.april.Four] is defined: expected single matching bean but found 2: fourId,fourId2
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:366)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:332)
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1066)
	at com.study.april.TestBySpring.main(TestBySpring.java:18)
  1. <T> T getBean(String var1, Class<T> var2)
    既不用强转,也不用担心配置多个class Bean的问题

依赖注入的几种方式

  1. 通过property方法设置name和value是调用类中的set方法,如果类中没有set方法,property会报错

  2. 通过有参构造方法和xml配置constructor-arg标签来注入 在这里插入图片描述
    没用啊

  3. 通过p命名空间注入
    pName
    注意:命名空间也依赖类的set方法,不写同样报错

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值