Spring学习笔记08使用注解实现自动装配

spring注解自动装配

1、导入约束

使用自动装配需要在XML文件中导入以下依赖xmlns:context="http://www.springframework.org/schema/context"http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"
两个依赖
这个很重要导入后在配置文件中添加


<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    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">

    <context:annotation-config/>

beans>

下面就可以使用自动装配注入了。先把类注入到spring中,开启自动装配。


<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       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">

    <context:annotation-config/>

    <bean id="dog" class="spring.pojo.Dog"/>
    <bean id="cat" class="spring.pojo.Cat"/>
    <bean id="person" class="spring.pojo.Person"/>

beans>

在实体类的属性中添加@Autowired注解即可实现自动装配,也可以在set方法上使用,使用@Autowired我们可以不用编写set方法,前提是你这个自动装配的属性在IOC容器中
Spring学习笔记08使用注解实现自动装配_第1张图片
拓展假如有很多同样的类但是类名不同 可以上使用Qualifier(value = “dog11111”)来指定对应的那个类

	@Autowired
    @Qualifier(value = "dog11111")
    private Dog dog;

@Resource注解和@Autowired的区别

  • 都是用来自动装配,都可以放在属性字段上
  • @Autowired 是通过byType方式实现,必须要求这个对象存在
  • @Resource默认通过byName方式实现,如果找不到对应的名字,则通过byType实现

你可能感兴趣的:(Spring,spring)