Spring——自动装配、注解开发

本文详细介绍了Spring框架中Bean的自动装配,包括ByName和ByType两种方式,以及通过@Autowired和@Resource注解实现自动装配。此外,文章还讲解了如何使用注解进行开发,包括@Component及其等价注解的使用,以及Java配置Spring的方法。内容涵盖了从XML配置到完全使用Java配置的过渡。
摘要由CSDN通过智能技术生成

Spring——自动装配、注解开发

一、Bean的自动装配

  • 自动装配是Spring满足bean依赖的一种方式!
  • Spring会在上下文中自动寻找,并自动给bean装配属性!

在Spring中有三种装配的方式

  1. 在xml中显示的配置
  2. 在java中显示配置
  3. 隐式的自动装配bean 【重要】

1.测试

环境搭建:一个人有两个宠物!

public class Cat {
   

    public void shout() {
   
        System.out.println("miao~");
    }
}
public class Dog {
   
    public void shout() {
   
        System.out.println("wang!");
    }
}
public class User2 {
   
   
    private Cat cat;
    
    private Dog dog;

    private String name;

    public void setName(String name) {
   
        this.name = name;
    }

    public Cat getCat() {
   
        return cat;
    }

    public Dog getDog() {
   
        return dog;
    }

    public String getName() {
   
        return name;
    }

    @Override
    public String toString() {
   
        return "User2{" +
                "cat=" + cat +
                ", dog=" + dog +
                ", name='" + name + '\'' +
                '}';
    }
}
按照之前的方式写xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd">

    <bean id="cat" class="com.cm.dap.entity.Cat">

    </bean>

    <bean id="dog" class="com.cm.dap.entity.Dog">

    </bean>

    <bean id="user2" class="com.cm.dap.entity.User2">
        <property name="name" value="zhangsan"/>
        <property name="cat" ref="cat"/>
        <property name="dog" ref="dog"/>
    </bean>

</beans>
测试
@Test
public void testUser2Test() {
   

    ApplicationContext context = new ClassPathXmlApplicationContext( "applicationContext.xml");

    User2 user2 = (User2) context.getBean("user2")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值