Autowired 省略
时间: 2023-08-13 13:24:54 浏览: 81
省略dao层,采用全注解完成登录功能
在 Spring 中,@Autowired 注解可以用于自动装配 Bean 对象,可以在属性、构造方法、Setter 方法或者方法参数上使用。如果只有一个 Bean 对象匹配,或者有一个 Bean 被标记为 Primary,那么 Spring 会自动将其注入到需要的位置上。
在某些情况下,如果只有一个 Bean 对象可以匹配,或者只有一个 Bean 被标记为 Primary,可以省略 @Autowired 注解,直接在需要的位置上声明 Bean 对象即可。这种方式称为 "自动装配 by Type"。
例如:
```
@Service
public class UserServiceImpl implements UserService {
private final UserRepository userRepository;
public UserServiceImpl(UserRepository userRepository) {
this.userRepository = userRepository;
}
// ...
}
```
在上面的代码中,由于 UserServiceImpl 类的构造方法只有一个参数,且该参数的类型为 UserRepository,因此可以省略 @Autowired 注解,直接在构造方法中声明 UserRepository 对象并进行注入。
如果有多个 Bean 对象可以匹配,或者没有 Bean 被标记为 Primary,那么就需要显式地使用 @Autowired 注解来指定要注入的 Bean 对象了。
阅读全文