Lombok 妙用之 @RequiredArgsConstructor 注解

Lombok 妙用之 @RequiredArgsConstructor 注解,第1张

Lombok 妙用之 @RequiredArgsConstructor 注解 丢掉 @Autowired,@Resource 让代码更简洁。 一:目前使用最广泛的 @Autowired

默认的注入方式为 byType ,也就是根据类型匹配,当有多个实现时,则通过 byName 注入,也可以通过配合@Qualifier注解来显式指定name值,指明要使用哪个具体的实现类

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;
    @Autowired
    private RoleMapper roleMapper;
	
}
二:Java JSR-250中提供的注解 @Resource

默认通过 byName 注入,如果没有匹配则通过 byType 注入

@Service
public class UserServiceImpl implements UserService {

    @Resource
    private UserMapper userMapper;
    @Resource
    private RoleMapper roleMapper;
	
}
三:构造器注入
@Service
public class UserServiceImpl implements UserService {

    private final UserMapper userMapper;
	
	private final RoleMapper roleMapper;

    public UserServiceImpl(UserMapper userMapper, RoleMapper roleMapper) {
        this.userMapper = userMapper;
        this.roleMapper = roleMapper;
    }
	
}
四:Lombok提供的 @RequiredArgsConstructor 方式(会生成一个包含常量,和标识了NotNull的变量的构造方法)

也可写作 @RequiredArgsConstructor(onConstructor =@_(@Autowired))

@Service
@RequiredArgsConstructor
public class UserServiceImpl implements UserService {

    private final UserMapper userMapper;
	
	private final RoleMapper roleMapper;
	
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5686123.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存