Commit Graph

460 Commits

Author SHA1 Message Date
Juergen Hoeller 2a7d7ad9c3 DefaultListableBeanFactory is only deserializable through a SerializedBeanFactoryReference
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4611 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-22 20:56:23 +00:00
Juergen Hoeller 6335538e35 getBean(name, type) attempts type conversion if necessary (SPR-8480)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4607 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-22 20:52:28 +00:00
Chris Beams d058ba4579 Fix bridge method detection for class hierarchies
Prior to this change, @Autowired injection against an instance of a
subclass having different visibility than its superclass would fail
if the @Autowired method is declared only in the superclass. This is due
to an apparent change in the rules around bridge method generation
between Java 5 and Java 6, and possibly even varying across compiler
vendors.

Now, BridgeMethodResolver is used consistently when detecting
@Autowired, @Inject and @Resource metadata to bypass these bridge
methods if they exist.

Issue: SPR-7900

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4600 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-21 14:59:37 +00:00
Chris Beams b68f4d984a Provide default ParameterNameDiscoverer for AACBF
Prior to this change, AbstractAutowireCapableBeanFactory did not support
a default ParameterNameDiscoverer.  This meant that attempting to use
<constructor-arg name=".."> syntax would fail (with a fairly obscure
exception) as that feature depends on a ParameterNameDiscoverer to
introspect the constructor arguments.

This lack of a default was originally intended to avoid a dependency on
ASM, but now that (a) .asm is a built-in module and (b) .beans has a
non-optional compile-time dependency on .asm, there is no reason not to
provide this default.

The net effect is that in a number of locations throughout the
framework, namely in GenericApplicationContext and
AbstractRefreshableApplicationContext, it is no longer necessary to
explicitly call AACBF#setParameterNameDiscoverer. This also means that
using a naked BeanFactory (likely for testing scenarios) is that much
easier.

Issue: SPR-8184

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4568 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-17 09:47:19 +00:00
Chris Beams 6a7cb58fe3 Preserve shadowed fields in DirectFieldAccessor
Prior to this change, DirectFieldAccessor would ignore fields shadowed
in subclasses, favoring the last field processed, which happens to be
the most super declaration based on the way ReflectionUtils.doWithFields
works.

Because the locally shadowed field may be of a different type that the
superclass declaration, it is most correct to preserve and work with
the shadowed field.

Issue: SPR-8398

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4559 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-16 06:33:44 +00:00
Juergen Hoeller 8c0cfc859b restored support for String-to-ContextResource conversion (SPR-8383)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4555 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-15 15:40:12 +00:00
Sam Brannen 5cde94dc4b Polishing Eclipse classpath settings
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4513 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-11 19:56:48 +00:00
Juergen Hoeller 03adc3b632 shortened build properties "org.junit.version" to "junit.version" and "org.testng.version" to "testng.version"; reverted SLF4J version back to 1.5.3 (for Hibernate 3.3.1 compatibility)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4502 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-09 09:58:15 +00:00
Juergen Hoeller 80c86075f0 polishing
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4497 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-08 22:52:43 +00:00
Keith Donald b0a9781f0f restored TypeDescriptor getElementType, getMapKeyType, and getMapValueType compatibility; StringToCollection and Array Converters are now conditional and check targetElementType if present; TypeDesciptor#isAssignable no longer bothers with element type and map key/value types in checking assignability for consistency elsewhere; improved javadoc
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4478 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-07 02:51:44 +00:00
Keith Donald 0fcbb35889 null type descriptor handling
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4459 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-05 17:52:26 +00:00
Keith Donald eaa8a4271c improved null handling and javadoc
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4458 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-05 17:41:08 +00:00
Keith Donald c5425d0f43 broke out to top-level class for readability
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4456 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-05 08:37:08 +00:00
Keith Donald 89096b46b8 removed dependency on java.beans
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4455 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-05 08:29:14 +00:00
Keith Donald 4afc2c926d catch ConversionFailedException and fallback to default container conversion logic rather than propogate exception
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4453 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-05 06:04:49 +00:00
Keith Donald b58386da08 polishing
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4451 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-05 05:46:27 +00:00
Keith Donald a34147a53d revised TypeDescriptor NULL and element/mapKey/mapValue type semantics
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4450 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-05 04:43:18 +00:00
Chris Beams 976955f6ad Fix system environment tests on all platforms
Issue: SPR-8245

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4430 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-03 05:16:35 +00:00
Keith Donald c7cae10364 simplified TypeDescriptor usage and updated use of the API across BeanWrapper and SpEL; collapsed PropertyTypeDescriptor into TypeDescriptor for simplicity and ease of use; improved docs
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4424 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-02 23:37:19 +00:00
Sam Brannen f70fd0965d [SPR-8388] Cleared up confusing documentation regarding PropertyResolver and Environment.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4403 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-01 21:05:23 +00:00
Sam Brannen d81b19e958 [SPR-8388] Improved documentation on default registered PropertyEditors; fixed typos and grammar in JavaDoc; suppressed warnings due to generics; etc.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4402 50f2f4bb-b051-0410-bef5-90022cba6387
2011-06-01 20:54:48 +00:00
Chris Beams 55707983a1 Ignore failing tests on Windows
Attempt to access and modify the system environment works on OS X /
Linux but not under Windows. Does not represent any real failure for
production code - the need to modify the system environment is a
testing concern only, and one we can probably live without, considering
the losing battle necessary to make such a hack cross-platform.

Issue: SPR-8245

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4392 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-31 10:58:24 +00:00
Juergen Hoeller 766b189fd0 CustomNumberEditor generically declares numberClass as subclass of Number (matching NumberUtils)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4372 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-29 20:55:15 +00:00
Juergen Hoeller 326c5f4b9b polishing
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4371 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-29 20:53:34 +00:00
Chris Beams cf19ecc5a7 Rename {Default=>Standard}Environment
Issue: SPR-8348

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4337 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-20 03:53:37 +00:00
Chris Beams ebea9ec66c Introduce reserved default profile support
AbstractEnvironment and subclasses now register a reserved default
profile named literally 'default' such that with no action on the part
of the user, beans defined against the 'default' profile will be
registered - if no other profiles are explicitly activated.

For example, given the following three files a.xml, b.xml and c.xml:

    a.xml
    -----
    <beans> <!-- no 'profile' attribute -->
        <bean id="a" class="com.acme.A"/>
    </beans>

    b.xml
    -----
    <beans profile="default">
        <bean id="b" class="com.acme.B"/>
    </beans>

    c.xml
    -----
    <beans profile="custom">
        <bean id="c" class="com.acme.C"/>
    </beans>

bootstrapping all of the files in a Spring ApplicationContext as
follows will result in beans 'a' and 'b', but not 'c' being registered:

    ApplicationContext ctx = new GenericXmlApplicationContext();
    ctx.load("a.xml");
    ctx.load("b.xml");
    ctx.load("c.xml");
    ctx.refresh();
    ctx.containsBean("a"); // true
    ctx.containsBean("b"); // true
    ctx.containsBean("c"); // false

whereas activating the 'custom' profile will result in beans 'a' and
'c', but not 'b' being registered:

    ApplicationContext ctx = new GenericXmlApplicationContext();
    ctx.load("a.xml");
    ctx.load("b.xml");
    ctx.load("c.xml");
    ctx.getEnvironment().setActiveProfiles("custom");
    ctx.refresh();
    ctx.containsBean("a"); // true
    ctx.containsBean("b"); // false
    ctx.containsBean("c"); // true

that is, once the 'custom' profile is activated, beans defined against
the the reserved default profile are no longer registered. Beans not
defined against any profile ('a') are always registered regardless of
which profiles are active, and of course beans registered
against specific active profiles ('c') are registered.

The reserved default profile is, in practice, just another 'default
profile', as might be added through calling env.setDefaultProfiles() or
via the 'spring.profiles.default' property.  The only difference is that
the reserved default is added automatically by AbstractEnvironment
implementations.  As such, any call to setDefaultProfiles() or value set
for the 'spring.profiles.default' will override the reserved default
profile.  If a user wishes to add their own default profile while
keeping the reserved default profile as well, it will need to be
explicitly redeclared, e.g.:

    env.addDefaultProfiles("my-default-profile", "default")

The reserved default profile(s) are determined by the value returned
from AbstractEnvironment#getReservedDefaultProfiles().  This protected
method may be overridden by subclasses in order to customize the
set of reserved default profiles.

Issue: SPR-8203

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4334 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-20 03:49:15 +00:00
Chris Beams 31bc941b28 Document @Autowired and @Value limitations
@Autowired, @Value and other annotations cannot be applied within
Spring Bean(Factory)PostProcessor types, because they themselves
are processed using BeanPostProcessors.  Javadoc and reference docs
have been updated to reflect.

Issue: SPR-4935, SPR-8213

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4300 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-13 03:41:29 +00:00
Chris Beams 26a0e223a4 Fix @Autowired+@PostConstruct+@Configuration issue
A subtle issue existed with the way we relied on isCurrentlyInCreation
to determine whether a @Bean method is being called by the container
or by user code.  This worked in most cases, but in the particular
scenario laid out by SPR-8080, this approach was no longer sufficient.

This change introduces a ThreadLocal that contains the factory method
currently being invoked by the container, such that enhanced @Bean
methods can check against it to see if they are being called by the
container or not.  If so, that is the cue that the user-defined @Bean
method implementation should be invoked in order to actually create
the bean for the first time.  If not, then the cached instance of
the already-created bean should be looked up and returned.

See ConfigurationClassPostConstructAndAutowiringTests for
reproduction cases and more detail.

Issue: SPR-8080

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4296 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-12 12:28:13 +00:00
Chris Beams a091eb1c86 Introduce ReflectionUtils#getUniqueDeclaredMethods
This change is in support of certain polymorphism cases in
@Configuration class inheritance hierarchies.  Consider the following
scenario:

@Configuration
public abstract class AbstractConfig {
    public abstract Object bean();
}

@Configuration
public class ConcreteConfig {
    @Override
    @Bean
    public BeanPostProcessor bean() { ... }
}

ConcreteConfig overrides AbstractConfig's #bean() method with a
covariant return type, in this case returning an object of type
BeanPostProcessor.  It is critically important that the container
is able to detect the return type of ConcreteConfig#bean() in order
to instantiate the BPP at the right point in the lifecycle.

Prior to this change, the container could not do this.
AbstractAutowireCapableBeanFactory#getTypeForFactoryMethod called
ReflectionUtils#getAllDeclaredMethods, which returned Method objects
for both the Object and BeanPostProcessor signatures of the #bean()
method.  This confused the implementation sufficiently as not to
choose a type for the factory method at all.  This means that the
BPP never gets detected as a BPP.

The new method being introduced here, #getUniqueDeclaredMethods, takes
covariant return types into account, and filters out duplicates,
favoring the most specific / narrow return type.

Additionally, it filters out any CGLIB 'rewritten' methods, which
is important in the case of @Configuration classes, which are
enhanced by CGLIB.  See the implementation for further details.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4262 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-06 19:07:25 +00:00
Chris Beams c892028705 Remove "Feature" support introduced in 3.1 M1
Feature-related support such as @Feature, @FeatureConfiguration,
and FeatureSpecification types will be replaced by framework-provided
@Configuration classes and convenience annotations such as
@ComponentScan (already exists), @EnableAsync, @EnableScheduling,
@EnableTransactionManagement and others.

Issue: SPR-8012,SPR-8034,SPR-8039,SPR-8188,SPR-8206,SPR-8223,
SPR-8225,SPR-8226,SPR-8227

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4255 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-06 19:03:52 +00:00
Chris Beams 84ace01244 Revert deprecation of BDRU#registerWithGeneratedName
The overloading necessary to preserve the new signature as well as
the old causes ambiguities leading to deprecation warnings in some
caller scenarios.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4253 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-06 19:01:35 +00:00
Chris Beams e8d1df5037 Fix generics and serialization warnings
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4249 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-06 19:00:14 +00:00
Sam Brannen 0613ced0b2 polishing
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4244 50f2f4bb-b051-0410-bef5-90022cba6387
2011-05-06 15:35:40 +00:00
Micha Kiener ab4a3568b1 SPR-6416, initial commit for the conversation management
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4217 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-12 13:21:18 +00:00
Chris Beams 8dedf111bc Ignore non-prop 'set' methods in ExtendedBeanInfo
Previously, ExtendedBeanInfo would attempt to process methods named
exactly 'set'.  JavaBeans properties must have at least one character
following the 'set' prefix in order to qualify, and this is now
respected by EBI.

Thanks to Rob Winch for the patch fixing this problem.

Issue: SPR-8175

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4178 50f2f4bb-b051-0410-bef5-90022cba6387
2011-04-05 03:45:38 +00:00
Chris Beams 1271acb8eb Introduce ExtendedBeanInfo
Decorator for instances returned from
Introspector#getBeanInfo(Class<?>) that supports detection and inclusion
of non-void returning setter methods. Fully supports indexed properties
and otherwise faithfully mimics the default
BeanInfo#getPropertyDescriptors() behavior, e.g., PropertyDescriptor
ordering, etc.

This decorator has been integrated with CachedIntrospectionResults
meaning that, in simple terms, the Spring container now supports
injection of setter methods having any return type.

Issue: SPR-8079

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4144 50f2f4bb-b051-0410-bef5-90022cba6387
2011-03-31 12:06:36 +00:00
Agim Emruli e633c97bff fixed compile error in test with javac compiler
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4110 50f2f4bb-b051-0410-bef5-90022cba6387
2011-03-24 11:06:32 +00:00
Chris Beams d1c5bb0160 Eliminate warnings in .validation package
Issue: SPR-8062

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4103 50f2f4bb-b051-0410-bef5-90022cba6387
2011-03-18 06:47:12 +00:00
Chris Beams ea5f28a8fd Remove TODOs related to profile logging
Issue: SPR-8031, SPR-7508, SPR-8057

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4097 50f2f4bb-b051-0410-bef5-90022cba6387
2011-03-15 12:57:43 +00:00
Chris Beams 29764a98b9 Resolve or eliminate Environment-related TODOs
Issue: SPR-8031, SPR-7508

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4096 50f2f4bb-b051-0410-bef5-90022cba6387
2011-03-15 12:57:12 +00:00
Chris Beams 39c43de27d Allow other delimiters in profile XML attribute
Previously, only commas could delimit <beans profile="p1,p2"/>.  Now, as
with <bean alias="..."/>, the profile attribute allows for delimiting
by comma, space and/or semicolon.

BeanDefinitionParserDelegate.MULTI_VALUE_ATTRIBUTE_DELIMITERS has been
added as a constant to reflect the fact this set of delimiters is used
in multiple locations throughout the framework.
BDPD.BEAN_NAME_DELIMITERS now refers to the above and has been has been
preserved but deprecated for backward compat (though use outside the
framework is unlikely).

Changes originally based on user comment at
http://blog.springsource.com/2011/02/11/spring-framework-3-1-m1-released/comment-page-1/#comment-184455

Issue: SPR-8033

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@4081 50f2f4bb-b051-0410-bef5-90022cba6387
2011-03-11 04:08:10 +00:00
Chris Beams 780b32c909 Re-introduce and deprecate BDPD.initDefaults(Element)
For compatibility with Spring Integration's standalone usage of
BeanDefinitionParserDelegate.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3991 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 13:33:09 +00:00
Sam Brannen d94cbd236a [SPR-7953] BeanDefinitionVisitor now actually visits factory method names.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3990 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 13:08:31 +00:00
Sam Brannen ff2aae8ba3 [SPR-7953] BeanDefinitionVisitor now actually visits factory method names.
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3989 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 13:01:58 +00:00
Juergen Hoeller 541f8595ab renamed AbstractPropertyPlaceholderConfigurer to PlaceholderConfigurerSupport
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3985 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 01:55:11 +00:00
Chris Beams 1a751de04f Further compensations for STS; binary compat fixes
Defensively catch NoSuchMethodError when calling BDPD.getEnvironment()
and supply a DefaultEnvironment if not available.

Replace the single-arg constructor for BDPD and deprecate, preserving
binary compat particularly for Spring Integration who instantiates
this class directly, which is unusual.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3982 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-10 00:30:30 +00:00
Chris Beams 3fbe9d5a55 Fix STS compatibility issues; other improvements
Revert changes to ParserContext, ReaderContext, and XmlReaderContext

    These changes cause cross-version incompatibilities at tooling time
    -- for instance, an STS version that ships with Spring 3.0.5
    classloads the ParserContext defined in that version, whereas it
    classloads NamespaceHandlers and BeanDefinitionParsers (by default)
    from the user application classpath, which may be building against
    3.1.0. If so, the changes introduced to these types in 3.1.0 are
    incompatible with expectations in the 3.0.5 world and cause all
    manner of problems.  In this case, it was NoSuchMethodError due to
    the newly-added XmlReaderContext.getProblemReporter() method; also
    IncompatibleClassChangeError due to the introduction of the
    ComponentRegistrar interface on ParserContext.

    Each of these problems have been mitigated, though the solutions
    are not ideal. The method mentioned has been removed, and instead
    the problemReporter field is now accessed reflectively.
    ParserContext now no longer implements ComponentRegistrar, and
    rather a ComponentRegistrarAdapter class has been introduced that
    passes method calls through to a ParserContext delegate.

Introduce AbstractSpecificationBeanDefinitionParser

    AbstractSpecificationBeanDefinitionParser has been introduced in
    order to improve the programming model for BeanDefinitionParsers
    that have been refactored to the new FeatureSpecification model.
    This new base class and it's template method implementation of
    parse/doParse ensure that common concerns like (1) adapting a
    ParserContext into a SpecificationContext, (2) setting source and
    source name on the specification, and (3) actually executing the
    specification are all managed by the base class.  The subclass
    implementation of doParse need only actually parse XML, populate
    and return the FeatureSpecification object.  This change removed
    the many duplicate 'createSpecificationContext' methods that had
    been lingering.

Minor improvement to BeanDefinitionReaderUtils API

    Introduced new BeanDefinitionReaderUtils#registerWithGeneratedName
    variant that accepts BeanDefinition as opposed to
    AbstractBeanDefinition, as BeanDefinition is all that is actually
    necessary to satisfy the needs of the method implementation. The
    latter variant accepting AbstractBeanDefinition has been deprecated
    but remains intact and delegates to the new variant in order to
    maintain binary compatibility.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3980 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-09 16:44:26 +00:00
Chris Beams 975e44079f Revert signature change in BDRU.registerWithGeneratedName
This change broke binary compatibility as evidenced by running
the greenhouse test suite and finding that Spring Integration's
AbstractConsumerEndpointParser.parseInternal fails with
NoSuchMethodError when trying to invoke.

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3969 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-09 06:57:24 +00:00
Chris Beams adc9400905 Include license.txt and notice.txt in module JARs
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3967 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-09 06:56:40 +00:00
Chris Beams df4edc1c73 Rename spring.{profile}.active => {profiles}
Same for spring.profiles.default

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3960 50f2f4bb-b051-0410-bef5-90022cba6387
2011-02-08 19:07:46 +00:00