-
Notifications
You must be signed in to change notification settings - Fork 38.5k
Allow the use of custom PropertySource annotations in @Configuration classes [SPR-8963] #13603
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Bjorn Harvold commented Definitely would make my life easier |
Sam Brannen commented We could introduce a Does that sound like what you're looking for? |
Daniel Fernández commented Would that mean that I'd have to provide an implementation of that |
Sam Brannen commented
Yes, if we introduce a |
Sam Brannen commented Please note that this is related to the following issues. |
Juergen Hoeller commented I've introduced a
The default implementation simply builds standard
Juergen |
Marten Deinum commented This would also fix #16732 which is more or less a duplicate of this one. |
Daniel Fernández opened SPR-8963 and commented
IMHO, there is a mismatch between the configuration possibilities offered by XML and
@Configuration
classes in Spring 3.1, which could be fixed by allowing developers to create custom annotations that could be used in@Configuration
classes (in the same way as@PropertySource
) for performing pre-configured infrastructure tasks.These annotations could perform these configuration tasks "underneath", hiding their complexities to Spring users, in the same way namespace handlers can in an XML file.
@PropertySource
is the clear example to this, as it registers a PropertySource for the specified ".properties" files, but the object registered is of a specific class hard-coded into Spring's code. This avoids the possibility of creating instances of other implementations of the PropertySource interface that perform more complex processing of .properties entries.Specifically, the jasypt project [ http://www.jasypt.org ] --of which I'm author-- defines an "encryption" XML namespace which allows developers to register an EncryptablePropertySource that performs automatic transparent decryption of properties with "encryption:encryptable-property-placeholder/", which works in a way equivalent to "context:property-placeholder/", but applying transparent decryption.
I would love to be able to offer this same easiness of configuration in
@Configuration
classes with an@EncryptablePropertySource
annotation, but as it happens this is not possible :-(Please, extend the
@Configuration
mechanism for allowing custom annotations (with their associated handlers).Thanks.
Affects: 3.1 GA
Reference URL: http://forum.springsource.org/showthread.php?120147-Can-I-create-my-own-annotations-for-enabling-features-at-Configuration-classes
Issue Links:
@PropertySource
loading support ("is duplicated by")@PropertySource
to be specified on a test class@PropertySource
[SPR-13874] #18447 Add support for UTF-8 and other charset/encoding to@PropertySource
@Profile
annotations not working on@Configuration
classesReferenced from: commits a378912
5 votes, 12 watchers
The text was updated successfully, but these errors were encountered: