Dependency Injection - error - __construct(), 0 passed and exactly 1 expected

I need your help! I don’t understand Dependency Injection and I would appreciate if you can find the problem.

I am trying to utilize DI to call a Service function from a Command. I could not find good samples and asked Google Gemini for a sample. And the sample codes generate the below error:

[ArgumentCountError] Too few arguments to function App\Command\MyProcessCommand::__construct(), 0 passed and exactly 1 expected in /var/www/html/my_app1/src/Command/MyProcessCommand.php on line 30

And the below are 3 files Gemini generated:

(1) /src/Service/MyService.php

declare(strict_types=1);
namespace App\Service;
use Cake\Log\Log;

class MyService
{
public function processAll(string $message): bool
{
Log::info('MyService::processAll called with message: ’ . $message);
return true;
}
}

(2) /src/Application.php

use App\Service\MyService;
use Cake\Core\ContainerInterface;
use Cake\Http\BaseApplication; // or your actual base application class

class Application extends BaseApplication
{
public function services(ContainerInterface $container): void
{
$container->add(MyService::class);
}
}

(3) /src/Command/MyProcessCommand.php

declare(strict_types=1);
namespace App\Command;
use App\Service\MyService;
use Cake\Command\Command;
use Cake\Console\Arguments;
use Cake\Console\ConsoleIo;
use Cake\Console\ConsoleOptionParser;

class MyProcessCommand extends Command
{
protected MyService $myService;

public function \__construct(MyService $myService)
{
    $this->myService = $myService;
    parent::\__construct();
}

protected function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionParser
{
    $parser->addArgument('custom_message', \[
        'help' => 'An optional message to pass to the service.',
        'default' => 'Default command message',
    \]);
    return $parser;
}

public function execute(Arguments $args, ConsoleIo $io): int
{
    $message = $args->getArgument('custom_message');
    $io->out('Starting service process...');       
    if ($this->myService->processAll($message)) {
        $io->success('Service process completed successfully.');
        return static::CODE_SUCCESS;
    }
    $io->error('Service process failed.');
    return static::CODE_ERROR;
}

}

Thank you!

Thank you, Kevin!!!
I have read the page many times but tried one more time. And I found problems.

On MyProcessCommand.php file, I needed to add ‘use Cake\Console\CommandFactoryInterface;‘ and replaced with public function __construct(protected MyService $myService, ?CommandFactoryInterface $factory = null)
{
parent::__construct($factory);
}

On Application.php file: I needed to add:
use App\Service\MyService;
use App\Command\MyProcessCommand;
use Cake\Console\CommandFactoryInterface;