Bean的自动装配

1.Bean的自动装配

  1. 在xml中显示配置
 <bean id="dog" class="com.csf.pojo.Dog"></bean>
    <bean id="cat" class="com.csf.pojo.Cat"></bean>
    <bean id="people" class="com.csf.pojo.People">
        <property name="cat" value="cat"></property>
        <property name="dog" value="dog"></property>
    </bean>

2.Java中配置


3隐式的自动装配bean

  1. ByName的自动装配


    byname的时候,需要保证所有bean的id唯一,并且这个bean需要和自动注入的属性的set方法的值(SET方法后面跟着的名字)一致!

<bean id="people" class="com.csf.pojo.People" autowire="byName"></bean>
  1. ByType的自动装配


    . bytype的时候,需要保证所有bean的jd唯一,并且这个bean需要和自动注入的属性的set方法的值一致!

<bean id="people" class="com.csf.pojo.People" autowire="byType"></bean>

使用注解开发

  1. 导入约束
 xmlns:context="http://www.springframework.org/schema/context"
 http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd">

    <context:annotation-config/>
  1. @Autowired

直接在字段上使用即可,set方法上也可。 它是通过ByType实现,当多个类型时搭配 @Qualifier(value =
“beanid”)

 @Autowired
    private Dog dog;
  1. @Nullable

–属性可为空

  1. @Resource【重点】

默认通过byname的方式实现,如果找不到名字,则通过byType实现!如果两个都找不到的情况下,就报错!【常用】

  1. @Component

相当于bean id=“user” class=“User”
组件,放在类上,说明此类被spring管理,也就是个bean了,通过getbean(“类的小写”)获得

1. 赋值:
 1. @Value("秦将")
    private String name;
 2.  @Value("qq")
    public void setName(String name) {
        this.name = name;
    }
		2.@ Component衍生注解
  • dao【@Repository】
  • service【@Service】
  • controller【@Controller】

3.作用域
@Scope
singleton,prototype,request,session,

4.小结

  1. xml 与注解:

o xml更加万能,适用于任何场合!维护简单方便。
o 注解不是自己类使用不了,
o维护相对复杂!

  1. xml与注解最佳实践:

o xml 用来管理bean;
o 注解只负责完成属性的注入;
o 我们在使用的过程中,只需要注意一个问题:必须让注解生效,就需要开启注解的支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值