Annotation Type JsonPropertySource
-
@Target(TYPE) @Retention(RUNTIME) @Inherited @Documented @ResourcePropertySource(factory=JsonPropertySourceFactory.class) public @interface JsonPropertySource
The extension annotation of {ResourcePropertySource @ResourcePropertySource} providing a convenient and declarative mechanism for adding a JSONPropertySource
to Spring's Environment. To be used in conjunction with@Configuration
classes.- Since:
- 1.0.0
- Author:
- Mercy
- See Also:
ResourcePropertySource
,JsonPropertySourceFactory
,MapPropertySource
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description java.lang.String
after
The relative order after specifiedPropertySource
boolean
autoRefreshed
It indicates the property source is auto-refreshed when the configuration is changed.java.lang.String
before
The relative order before specifiedPropertySource
java.lang.String
encoding
A specific character encoding for the given resources.boolean
first
boolean
ignoreResourceNotFound
Indicate if a failure to find aproperty resource
should be ignored.java.lang.String
name
Indicate the name of this property source.java.lang.Class<? extends java.util.Comparator<org.springframework.core.io.Resource>>
resourceComparator
Indicate the resources to be sorted whenvalue()
specifies the resource location wildcardsjava.lang.String[]
value
Indicate the resource location(s) of the JSON file to be loaded.
-
-
-
Element Detail
-
name
@AliasFor(annotation=ResourcePropertySource.class) java.lang.String name
Indicate the name of this property source.- See Also:
PropertySource.getName()
,Resource.getDescription()
- Default:
- ""
-
-
-
autoRefreshed
@AliasFor(annotation=ResourcePropertySource.class) boolean autoRefreshed
It indicates the property source is auto-refreshed when the configuration is changed.- Returns:
- default value is
false
- Default:
- false
-
-
-
first
@AliasFor(annotation=ResourcePropertySource.class) boolean first
Indicates currentPropertySource
is first order or not If specified ,before()
andafter()
will be ignored, or last order.- Returns:
- default value is
false
- Default:
- false
-
-
-
before
@AliasFor(annotation=ResourcePropertySource.class) java.lang.String before
The relative order before specifiedPropertySource
If not specified , current
PropertySource
will be added last.If
first()
specified , current attribute will be ignored.- Returns:
- the name of
PropertySource
, default value is the empty string
- Default:
- ""
-
-
-
after
@AliasFor(annotation=ResourcePropertySource.class) java.lang.String after
The relative order after specifiedPropertySource
If not specified , current
PropertySource
will be added last.If
first()
specified , current attribute will be ignored.- Returns:
- the name of
PropertySource
, default value is the empty string
- Default:
- ""
-
-
-
value
@AliasFor(annotation=ResourcePropertySource.class) java.lang.String[] value
Indicate the resource location(s) of the JSON file to be loaded.For example,
"classpath:/com/myco/app.json"
Resource location wildcards (e.g. **/*.json) also are permitted;
${...} placeholders will be resolved against any/all property sources already registered with the
Environment
.Each location will be added to the enclosing
Environment
as its own property source, and in the order declared.- Default:
- {}
-
-
-
resourceComparator
@AliasFor(annotation=ResourcePropertySource.class) java.lang.Class<? extends java.util.Comparator<org.springframework.core.io.Resource>> resourceComparator
Indicate the resources to be sorted whenvalue()
specifies the resource location wildcardsFor example,
"classpath:/com/myco/*.json"
, suppose there are two resources named "a.json" and "b.json" where two instances ofResource
will be resolved, they are the sources ofPropertySource
, thus it has to sort them to indicate the order ofPropertySource
that will be added to the enclosingEnvironment
.Default is
DefaultResourceComparator
- See Also:
DefaultResourceComparator
- Default:
- io.microsphere.spring.config.env.support.DefaultResourceComparator.class
-
-
-
ignoreResourceNotFound
@AliasFor(annotation=ResourcePropertySource.class) boolean ignoreResourceNotFound
Indicate if a failure to find aproperty resource
should be ignored.true
is appropriate if the JSON file is completely optional.Default is
false
.- Default:
- false
-
-
-
encoding
@AliasFor(annotation=ResourcePropertySource.class) java.lang.String encoding
A specific character encoding for the given resources.Default is "UTF-8"
- Default:
- "UTF-8"
-
-