金华自助建站,广州电商设计公司,福州建设人才网站,郑州商城app制作目录 什么是依赖注入
属性注入
构造函数注入
Setter 注入
依赖注入的优势 什么是依赖注入
依赖注入是一种设计模式#xff0c;它通过外部实体#xff08;通常是容器#xff09;来注入一个对象的依赖关系#xff0c;而不是在对象内部创建这些依赖关系。这种方式使得对象…目录 什么是依赖注入
属性注入
构造函数注入
Setter 注入
依赖注入的优势 什么是依赖注入
依赖注入是一种设计模式它通过外部实体通常是容器来注入一个对象的依赖关系而不是在对象内部创建这些依赖关系。这种方式使得对象的创建和管理变得更加灵活可以轻松地替换和升级各种组件。也就是说依赖注⼊是⼀个过程是指IoC容器在创建Bean时去提供运⾏时所依赖的对象。
关于依赖注入Spring 为我们提供了三种方法
1. 属性注入Filed Injection
2. 构造方法注入Constructor Injection
3. Setter 注入Setter Injection 属性注入
使⽤ Autowired 实现的。
Controller
public class UserController {//属性注入Autowiredprivate UserService userService;public void sayHi() {System.out.println(Hi UserController...);userService.sayHi();}
}构造函数注入
在类的构造⽅法中实现注⼊。
当只有一个构造函数的时候前面可以不加 Autowired其他情况必须加上 Autowired。
当有多个构造函数的时候Spring 使用会默认无参的构造函数如果没有会报错。 Controller
public class UserController2 {//构造方法注入private UserService userService;Autowiredpublic UserController2(UserService userService) {this.userService userService;}public void sayHi() {System.out.println(Hi UserController2);userService.sayHi();}
}Setter 注入
Setter 注⼊和属性的 Setter ⽅法实现类似只不过在设置 set ⽅法的时候需要加上 Autowired 注 解。
Controller
public class UserController3 {//setter方法注入private UserService userService;Autowiredpublic void setUserService(UserService userService) {this.userService userService;}public void sayHi() {System.out.println(Hi UserController3);userService.sayHi();}
} 依赖注入的优势 松耦合性Loose Coupling 依赖注入降低了组件之间的耦合度使得它们更容易被替换、升级和测试。 可测试性 由于依赖被注入我们可以轻松地通过模拟对象来进行单元测试而不必依赖于具体的实现。 可维护性 依赖注入使得代码更易于维护和理解。通过注入依赖代码的职责更加清晰。 灵活性 可以通过配置文件或注解来改变对象之间的关系而无需修改代码提高了系统的灵活性。