con*_*ter 0 java super spring-boot
这是我的基类:
@Service
public class BasicUserManagerService implements UserManager {
@Autowired
private UserRepository UserRepository;
private Logger logger = LoggerFactory.getLogger(UserManagerPasswordController.class);
@Override
public void createUser(User User) {
if (UserRepository.findByEmail(User.getEmail()) != null)
throw new InvalidDataException("User already registered with this email address");
UserRepository.save(User);
logger.info("Created user: {}", User.getEmail());
}
}
Run Code Online (Sandbox Code Playgroud)
我试图扩展这个类如下:
@Service
public class UserManagerService extends BasicUserManagerService implements UserManager {
@Override
public void createUser(User User) {
super().createUser(User);
}
}
Run Code Online (Sandbox Code Playgroud)
但我一直得到的错误是对super()的调用必须是构造函数体中的第一个语句.正如你所看到的,我没有构造函数,即使我添加它,我也会得到同样的错误.为什么会发生这种情况,我该如何避免呢?
更改此super用法.super()是父的构造函数.super是对父类的引用.
@Service
public class UserManagerService extends BasicUserManagerService implements UserManager {
@Override
public void createUser(ProxyCircuitUser proxyCircuitUser) {
super.createUser(proxyCircuitUser);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
133 次 |
| 最近记录: |