提示信息

spring boot 中Autowired作用

m800618127 已关注

在Spring框架中,@Autowired注解用于实现依赖注入(Dependency Injection)。当你在一个类字段、构造方法或者 setter 方法上标记 @Autowired,Spring会自动为这个依赖提供实例。

以下是几个例子:

  1. 字段注入:
  1. @Service
  2. public class MyService {
  3. @Autowired
  4. private MyRepository repository;
  5. }

在这个例子中,MyService依赖于MyRepository@Autowired告诉Spring在创建MyService实例时,应该自动为repository字段提供一个MyRepository的实例。

  1. 构造方法注入:
  1. @Service
  2. public class MyService {
  3. private final MyRepository repository;
  4. @Autowired
  5. public MyService(MyRepository repository) {
  6. this.repository = repository;
  7. }
  8. }

在这个例子中,@Autowired注解在构造函数上。当Spring创建一个新的MyService实例时,它会查找一个MyRepository的实例,作为参数传递给构造函数。

  1. Setter方法注入:
  1. @Service
  2. public class MyService {
  3. private MyRepository repository;
  4. @Autowired
  5. public void setRepository(MyRepository repository) {
  6. this.repository = repository;
  7. }
  8. }

在这个例子中,@Autowired注解在setter方法上。Spring会自动调用这个setter方法,将MyRepository的实例注入到MyService中。

自Spring 4.3开始,如果目标bean只有一个构造函数,那么这个构造函数可以省略@Autowired注解,Spring会自动使用这个构造函数进行依赖注入。

m800618127 关注 已关注

最近一次登录:2023-09-25 13:19:31   

暂时还没有签名,请关注我或评论我的文章
×
分享到朋友圈