# RequiredAll constructor

const RequiredAll()

An annotation used for dependency injection that automatically injects all eligible fields into a class.

This annotation is applied at the class level. It tells the dependency injection container to inject all non-ignored fields, without requiring individual `@Autowired` annotations.

- Fields that are non-primitive types (classes, services, etc.) are automatically injected.
- Fields that are nullable are treated as optional.
- Primitive types like `String`, `int`, or `bool` are not automatically injected unless explicitly configured.

### Example

    @Service()
    @RequiredAll()
    class OrderService {
      late UserService userService;       // auto-injected
      late PaymentService paymentService; // auto-injected
      String config;                      // not injectable (primitive)

      OrderService();
    }

    void main() {
      print(orderService.userService);       // Injected instance
      print(orderService.paymentService);    // Injected instance
    }

By default, all fields are required unless marked as nullable. This ensures strict correctness in service wiring.

Creates a RequiredAll annotation that, when applied to a class, signals the container to automatically inject all eligible fields.

### Example

    @Service()
    @RequiredAll()
    class EmailService {
      late SmtpClient smtpClient; // Auto-injected

      EmailService();
    }

## Implementation

    const RequiredAll();