springboot依赖注入的几种方式

简介: springboot依赖注入的几种方式

Spring Boot 提供了多种方式来实现依赖注入:

  1. 构造方法注入:通过在类的构造方法上使用@Autowired注解,将依赖通过构造方法的参数进行注入。

javaCopy Code

@ComponentpublicclassExampleService {

    private DependencyService dependencyService;

    @Autowired
    publicExampleService(DependencyService dependencyService) {
        this.dependencyService = dependencyService;
    }
}
  1. Setter 方法注入:通过在类的Setter方法上使用@Autowired注解,将依赖通过Setter方法进行注入。

javaCopy Code

@ComponentpublicclassExampleService {

    private DependencyService dependencyService;

    @Autowired
    publicvoidsetDependencyService(DependencyService dependencyService) {
        this.dependencyService = dependencyService;
    }
}
  1. 字段注入:通过在类的字段上使用@Autowired注解,将依赖直接注入到字段中。

javaCopy Code

@ComponentpublicclassExampleService {

    @Autowired
    private DependencyService dependencyService;
}
  1. 方法注入:通过在类的方法上使用@Autowired注解,将依赖通过方法参数进行注入。可以用在普通方法、工厂方法和Bean生命周期回调方法上。

javaCopy Code

@ComponentpublicclassExampleService {

    private DependencyService dependencyService;

    @Autowired
    publicvoidsetDependencyService(DependencyService dependencyService) {
        this.dependencyService = dependencyService;
    }

    @Autowired
    publicvoidinit(DependencyService dependencyService) {
        // ...
    }
}
  1. 注解限定符(Qualifier):当存在多个相同类型的依赖时,可以通过@Qualifier注解指定具体的Bean进行注入。

javaCopy Code

@ComponentpublicclassExampleService {

    @Autowired
    @Qualifier("specificDependency")
    private DependencyService dependencyService;
}
  1. 自定义注解:通过创建自定义注解和对应的注解处理器,可以实现更灵活的依赖注入方式。

javaCopy Code

@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.FIELD)@Autowiredpublic@interface MyCustomAnnotation {
    // ...
}

@ComponentpublicclassExampleService {

    @MyCustomAnnotation
    private DependencyService dependencyService;
}

这些方式都是基于 Spring 的依赖注入机制来实现的,Spring Boot 会根据配置和约定自动完成依赖的查找和注入。开发者可以根据项目的需求选择合适的依赖注入方式。

目录
相关文章
|
6月前
|
Java 容器 Spring
SpringBoot:详解依赖注入和使用配置文件
SpringBoot:详解依赖注入和使用配置文件
166 0
|
4月前
|
XML Java 测试技术
Spring Boot中的依赖注入和控制反转
Spring Boot中的依赖注入和控制反转
|
6月前
|
前端开发 Java API
Spring Boot之Spring MVC基于注解的控制器(RequestMapping注解类型 重定向与转发 依赖注入)
Spring Boot之Spring MVC基于注解的控制器(RequestMapping注解类型 重定向与转发 依赖注入)
76 0
|
3月前
|
消息中间件 Java Kafka
SpringBoot中的@Bean之谜:揭秘依赖注入的魔法与陷阱
【8月更文挑战第29天】这段内容介绍了在分布式系统中起到异步通信与解耦作用的消息队列,并详细探讨了三种流行的消息队列产品:RabbitMQ、RocketMQ 和 Kafka。RabbitMQ 是一个基于 AMQP 协议的开源消息队列系统,支持多种消息模型,具有高可靠性及稳定性;RocketMQ 则是由阿里巴巴开源的高性能分布式消息队列,支持事务消息等多种特性;而 Kafka 是 LinkedIn 开源的分布式流处理平台,以其高吞吐量和良好的可扩展性著称。文中还提供了使用这三种消息队列产品的示例代码。
24 0
|
5月前
|
设计模式 Java 测试技术
Spring Boot中的依赖注入详解
Spring Boot中的依赖注入详解
|
4月前
|
Java Spring 容器
深入理解Spring Boot中的容器与依赖注入
深入理解Spring Boot中的容器与依赖注入
|
6月前
|
Java 容器 Spring
【SpringBoot:详解依赖注入和使用配置文件】
【SpringBoot:详解依赖注入和使用配置文件】
54 2
|
SQL XML Java
简单理解springboot的依赖注入
依赖注入,Dependency Injection,简称DI,是spring中的核心技术,此技术贯穿Spring全局,是必须要熟练掌握的知识点。在本文中,我们将要深入研究spring中的IOC和DI,理解核心思想,并学会如何在spring boot中使用基于java和注解的方式正确使用DI来创建spring应用程序。控制反转 IOC要理解DI,首先需要理解spring的核心思想之一,控制反转(In
2087 0
简单理解springboot的依赖注入
|
XML Java 程序员
Spring Boot2.x-05Spring Boot基础-使用注解完成依赖注入
Spring Boot2.x-05Spring Boot基础-使用注解完成依赖注入
105 0
Spring Boot2.x-05Spring Boot基础-使用注解完成依赖注入
|
安全 Java 程序员
SpringBoot 依赖注入的优雅实现
SpringBoot 依赖注入的优雅实现
547 0