Spring中有哪些依赖注入的方式

Spring中有哪些依赖注入的方式

有2种实现方式:

  1. 注解(如@Autowired,@Resource,@Required)
  2. 配置文件(如xml)

1.注解:

@Component
public class MyService {
    private Dependency dependency;
    
    @Autowired
    public MyService(Dependency dependency) {
        this.dependency = dependency;
    }
    
    // 或者使用 @Autowired 注解标记属性
    // @Autowired
    // private Dependency dependency;
    
    // 或者使用 @Autowired 注解标记方法
    // @Autowired
    // public void setDependency(Dependency dependency) {
    //  this.dependency = dependency;
    // }
    
    // 业务方法
}

在上述示例中,@Autowired 注解用于构造函数、属性或方法上,自动注入 Dependency 类型的依赖。

2.xml配置方式:

在 XML 配置方式中,可以使用 <bean> 元素和 <property> 元素来声明 bean 和注入依赖

<!-- 定义依赖 -->
<bean id="dependency" class="com.example.Dependency"/>

<!-- 声明 bean 并注入依赖 -->
<bean id="myService" class="com.example.MyService">
    <constructor-arg ref="dependency" />
    <!-- 或者使用 <property> 元素注入属性 -->
    <!-- <property name="dependency" ref="dependency" /> -->
</bean>

在上述示例中,<bean> 元素定义了依赖的 bean,通过 class 属性指定类的全限定名。
<constructor-arg> 元素被用于构造函数注入,使用 ref 属性指定需要注入的 bean。

无论是注解方式还是 XML 配置方式,Spring 容器将负责解析并执行依赖注入,根据配置自动完成依赖的注入工作。

注解方式更加简洁和便捷,推荐在开发中使用。而 XML 配置方式则更适用于传统的、需要详细控制和灵活配置的场景。

posted @ 2023-10-08 23:09  chuimber  阅读(15)  评论(0编辑  收藏  举报