anchor.diff:  
   Alternatively, you can define an <<unmatched-annotation,unmatched>> field to capture _all_ unknown options (and positional parameters):
   
  -[source,java]
  +.Java
  +[source,java,role="primary"]
   ----
   @Unmatched List<String> unmatched;
  +----
  +
  +.Kotlin
  +[source,kotlin,role="secondary"]
  +----
  +@Unmatched lateinit var unmatched: List<String>
   ----
   ====
   
   When your command is annotated with `@org.springframework.stereotype.Component` Spring can autodetect it for dependency injection.
   The business logic of your command looks like any other picocli command with options and parameters.
   
  -[source,java]
  +.Java
  +[source,java,role="primary"]
   ----
   import org.springframework.stereotype.Component;
   import org.springframework.beans.factory.annotation.Autowired;
  
positive.code:         // let Spring instantiate and inject dependencies
          System.exit(SpringApplication.exit(SpringApplication.run(MySpringApp.class, args)));
      }
  }
  ----
  
  
negative.code: === Spring Boot Example
  image:https://picocli.info/images/spring-boot.png[Spring Boot Logo,width=350,height=167]
  
  As of version 4.0, picocli provides a custom factory in the `picocli-spring-boot-starter` module.
  To use this custom factory, add the following dependency:
  
  Maven:
  