Make sure your "constructor" is really a constructor.
With the monumentious amounts of boilerplate bullshit in Java it is a wonder to me why constructors don't have a "constructor" keyword. I mean, Java doesn't have a problem with being overly verbose, yet likes to be terse in places where being verbose would be a good idea.
//:WRONG://
@Service
public class EmployeeServiceImpl
implements EmployeeServiceInterface
{
private EmployeeRepository employeeRepository ;
/** Constructor **/
public EmployeeServiceImpl saveEmployee(
EmployeeRepository employeeRepository
){
super(); //:No blank line allowed? ://
this.employeeRepository = employeeRepository ;
}
}
//:FIXED://
@Service
public class EmployeeServiceImpl
implements EmployeeServiceInterface
{
private EmployeeRepository employeeRepository ;
/** Constructor **/
public EmployeeServiceImpl(
EmployeeRepository employeeRepository
){
super(); //:No blank line allowed? ://
this.employeeRepository = employeeRepository ;
}
}
Because java allows overloading, it didn't pick up on this mistake. Because right below my constructor was this:
@Override
public EmployeeDAO saveEmployee( EmployeeDAO employee ){
return employeeRepository.save( employee ) ;
}