ConditionalOnProperty constructor
const
ConditionalOnProperty({})
Marks a class or method as conditional based on the presence and value of configuration properties.
This annotation is used to include or exclude a class based on one or more environment or system properties. It is commonly used in auto-configuration or module activation scenarios.
Matching Rules
- You can specify multiple names via
names
. - If
havingValue
is specified, the property must match that value. - If
havingValue
is omitted, the property must not be equal to'false'
. - If the property is missing and
matchIfMissing
istrue
, it will match.
Example
@ConditionalOnProperty(
prefix: 'server',
names: ['ssl.enabled', 'ssl.enabled2'],
havingValue: 'true',
)
class SslServerConfig {}
This activates SslServerConfig
only if server.ssl.enabled=true
.
Implementation
const ConditionalOnProperty({
this.prefix,
this.names = const [],
this.havingValue,
this.matchIfMissing = false,
});