I believe I wrote, “Dependency injection is a great technique, but done manually you still end up with relatively tightly coupled code.”
Hence using a dependency injection system like Resolver or Dip which hides the service internals from the client. And all of those can most certainly use constructor injection.
But again, as I pointed out in the include example (and in the linked article), constructor injection requires quite a bit of boilerplate code. (And I’m in the coding camp that happens to believe that unnecessary boilerplate code is a breeding ground for bugs.)