Spring IOC 注入的3种方式
💖The Begin💖点点关注,收藏不迷路💖
Spring IoC容器支持多种依赖注入方式,其中最常见的是:
1. 构造器注入(Constructor Injection)
- 特点:通过构造函数传递依赖项。
- 优点:确保依赖项不可变,增强封装性。
- 适用场景:依赖项是必需的,且在对象创建时就需要。
示例:
@ComponentpublicclassUserService{privatefinalUserRepository userRepository;@AutowiredpublicUserService(UserRepository userRepository){this.userRepository = userRepository;}}
2. Setter方法注入(Setter Injection)
- 特点:通过setter方法传递依赖项。
- 优点:灵活性高,依赖项可选,便于单元测试。
- 适用场景:依赖项不是必需的,或在对象创建后可能需要修改。
示例:
@ComponentpublicclassUserService{privateUserRepository userRepository;@AutowiredpublicvoidsetUserRepository(UserRepository userRepository){this.userRepository = userRepository;}}
3. 字段注入(Field Injection)
- 特点:直接在类的字段上使用注解来注入依赖项。
- 优点:代码简洁,减少了setter方法的编写。
- 缺点::可能破坏封装性,并且在某些情况下(如单元测试)难以替换依赖项。
示例:
使用@Autowired注解直接注入字段。
@ComponentpublicclassUserService{@AutowiredprivateUserRepository userRepository;// 其他方法... }
💖The End💖点点关注,收藏不迷路💖
本文转载自: https://blog.csdn.net/qq_41840843/article/details/140386449
版权归原作者 Seal^_^ 所有, 如有侵权,请联系我们删除。
版权归原作者 Seal^_^ 所有, 如有侵权,请联系我们删除。