I think the problem is with the name of the classes and interfaces, when you are using spring data you need to follow some naming rules to be understood correctly by the framework.
This is ok
public interface IUserRepository extends MongoRepository<User, String>, UserRepositoryCustom {
this is correct also>
public interface UserRepositoryCustom {
but the implementation class has a problem with the name, it should be
public class IUserRepositoryImpl implements UserRepositoryCustom {
then spring jpa will works and repository will be injected in the Service.