Commit Graph

301 Commits

Author SHA1 Message Date
Chris Beams
b7f4f2b546 Expose return-value-handlers in mvc namespace
Mirroring the MvcConfigurer#addCustomReturnValueHandlers callback which
allows for providing a list of HandlerMethodReturnValueHandler types
2011-05-06 19:13:44 +00:00
Chris Beams
1efb82d7cb Rename RequestMapping types for concision
Remove 'Method' from RequestMappingHandlerMethodMapping and
RequestMappingHandlerMethodAdapter
2011-05-06 19:13:05 +00:00
Chris Beams
2092a31f9d Rename DataBinderFactory subtypes for concision 2011-05-06 19:12:14 +00:00
Chris Beams
446dfdbff2 Introduce @EnableMvcConfiguration 2011-05-06 19:11:19 +00:00
Chris Beams
111fb71fe1 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
2011-05-06 19:03:52 +00:00
Rossen Stoyanchev
c91ab1ad6e Resolve custom args after annotated args, set PATH_WITHIN_HANDLER_MAPPING attribute, and rename resolver for @ExceptionHandler methods 2011-05-03 15:39:13 +00:00
Rossen Stoyanchev
50117dce40 SPR-6909 Include URI template vars in data binding 2011-04-26 11:54:54 +00:00
Rossen Stoyanchev
ed9d9a402b SPR-7543 Add @PathVariables to the model 2011-04-21 15:18:45 +00:00
Rossen Stoyanchev
945cf43e2d Remove consumes from @RequestMapping 2011-04-21 14:54:55 +00:00
Rossen Stoyanchev
acb9433e5c SPR-8247 review changes 2011-04-21 11:40:24 +00:00
Rossen Stoyanchev
d14c7f2d09 SPR-8247 2011-04-20 21:41:17 +00:00
Rossen Stoyanchev
57d327d1ff SPR-8255 2011-04-20 08:43:57 +00:00
Rossen Stoyanchev
9c65973b33 SPR-8214 review unit tests 2011-04-15 18:42:58 +00:00
Rossen Stoyanchev
83ce399c47 SPR-8248 2011-04-15 06:42:18 +00:00
Rossen Stoyanchev
aa065e8310 SPR-8214 Javadoc and polish 2011-04-13 23:15:19 +00:00
Rossen Stoyanchev
5486649394 Add UriTemplateServletHandlerMethodTests 2011-04-11 17:18:07 +00:00
Rossen Stoyanchev
767513de4e Add UriTemplateServletHandlerMethodTests 2011-04-11 17:17:51 +00:00
Rossen Stoyanchev
23e37b6842 SPR-8234 Switch to strongly typed custom argument resolvers property 2011-04-11 15:50:04 +00:00
Rossen Stoyanchev
313546ad1f SPR-8234 Argument resolver and return value handler configuration improvements 2011-04-11 12:37:33 +00:00
Rossen Stoyanchev
36970115ed Fix issues encountered in Greenhouse 2011-04-10 06:01:11 +00:00
Arjen Poutsma
28b6eae11a SPR-7354 - Added equivalent of JAX-RS @Consumes to Spring MVC 2011-04-08 13:33:58 +00:00
Arjen Poutsma
44b4f59c5e SPR-7354 - Added equivalent of JAX-RS @Consumes to Spring MVC 2011-04-08 12:06:53 +00:00
Arjen Poutsma
bf6693dbc5 SPR-7354 - Added equivalent of JAX-RS @Consumes to Spring MVC 2011-04-08 09:26:17 +00:00
Rossen Stoyanchev
381af43f91 Javadoc updates 2011-04-07 22:16:41 +00:00
Rossen Stoyanchev
6fe0ff9e7b ModelAndViewContainer related refinements 2011-04-07 18:09:28 +00:00
Rossen Stoyanchev
4c1f73ed83 SPR-8217 update MVC namespace to use HandlerMethod infrastructure 2011-04-06 20:28:47 +00:00
Rossen Stoyanchev
ffec444434 Configurable arg resolvers and return value handlers 2011-04-06 16:55:21 +00:00
Rossen Stoyanchev
ca9a3b4584 Replace ModelAndViewContainer parameter with Object 2011-04-06 15:30:19 +00:00
Rossen Stoyanchev
3ee6734424 SPR-8216 Replicate ServletAnnotationControllerTests for HandlerMethod infrastructure 2011-04-06 15:30:01 +00:00
Rossen Stoyanchev
28cdae2e50 SPR-8215 Fix issue with tests compiling 2011-04-06 11:52:18 +00:00
Rossen Stoyanchev
acc75aa4b8 SPR-8215 Move HandlerMethod code into trunk 2011-04-06 11:30:59 +00:00
Rossen Stoyanchev
386d8fdaa6 SPR-6932 Add option to extract value from single-key models in MappingJacksonJsonView 2011-03-04 14:19:14 +00:00
Rossen Stoyanchev
761a836236 SPR-2692 Add URI template support to RedirectView 2011-03-03 15:54:29 +00:00
Rossen Stoyanchev
9779ca191c SPR-7976 Add MvcInterceptors features. 2011-02-22 16:13:04 +00:00
Chris Beams
b4fea47d5c Introduce FeatureSpecification support
Introduce FeatureSpecification interface and implementations

    FeatureSpecification objects decouple the configuration of
    spring container features from the concern of parsing XML
    namespaces, allowing for reuse in code-based configuration
    (see @Feature* annotations below).

    * ComponentScanSpec
    * TxAnnotationDriven
    * MvcAnnotationDriven
    * MvcDefaultServletHandler
    * MvcResources
    * MvcViewControllers

Refactor associated BeanDefinitionParsers to delegate to new impls above

    The following BeanDefinitionParser implementations now deal only
    with the concern of XML parsing.  Validation is handled by their
    corresponding FeatureSpecification object.  Bean definition creation
    and registration is handled by their corresponding
    FeatureSpecificationExecutor type.

    * ComponentScanBeanDefinitionParser
    * AnnotationDrivenBeanDefinitionParser (tx)
    * AnnotationDrivenBeanDefinitionParser (mvc)
    * DefaultServletHandlerBeanDefinitionParser
    * ResourcesBeanDefinitionParser
    * ViewControllerBeanDefinitionParser

Update AopNamespaceUtils to decouple from XML (DOM API)

    Methods necessary for executing TxAnnotationDriven specification
    (and eventually, the AspectJAutoProxy specification) have been
    added that accept boolean arguments for whether to proxy
    target classes and whether to expose the proxy via threadlocal.

    Methods that accepted and introspected DOM Element objects still
    exist but have been deprecated.

Introduce @FeatureConfiguration classes and @Feature methods

    Allow for creation and configuration of FeatureSpecification objects
    at the user level.  A companion for @Configuration classes allowing
    for completely code-driven configuration of the Spring container.

    See changes in ConfigurationClassPostProcessor for implementation
    details.

    See Feature*Tests for usage examples.

    FeatureTestSuite in .integration-tests is a JUnit test suite designed
    to aggregate all BDP and Feature* related tests for a convenient way
    to confirm that Feature-related changes don't break anything.
    Uncomment this test and execute from Eclipse / IDEA. Due to classpath
    issues, this cannot be compiled by Ant/Ivy at the command line.

Introduce @FeatureAnnotation meta-annotation and @ComponentScan impl

    @FeatureAnnotation provides an alternate mechanism for creating
    and executing FeatureSpecification objects.  See @ComponentScan
    and its corresponding ComponentScanAnnotationParser implementation
    for details.  See ComponentScanAnnotationIntegrationTests for usage
    examples

Introduce Default[Formatting]ConversionService implementations

    Allows for convenient instantiation of ConversionService objects
    containing defaults appropriate for most environments.  Replaces
    similar support originally in ConversionServiceFactory (which is now
    deprecated). This change was justified by the need to avoid use
    of FactoryBeans in @Configuration classes (such as
    FormattingConversionServiceFactoryBean). It is strongly preferred
    that users simply instantiate and configure the objects that underlie
    our FactoryBeans. In the case of the ConversionService types, the
    easiest way to do this is to create Default* subtypes. This also
    follows convention with the rest of the framework.

Minor updates to util classes

    All in service of changes above. See diffs for self-explanatory
    details.

    * BeanUtils
    * ObjectUtils
    * ReflectionUtils
2011-02-08 14:42:33 +00:00
Rossen Stoyanchev
37e0a90350 SPR-7327 Add minOccurs=0 to sub-elements of mvc:annotation-driven and add more tests 2011-02-03 22:56:13 +00:00
Rossen Stoyanchev
7aaad37120 SPR-7327 add <mvc:argument-resolvers> namespace element 2011-02-03 15:22:00 +00:00
Rossen Stoyanchev
abff2b959b SPR-7912 Add tests for FormattingConversionServiceFactoryBean, update reference docs, and remove mvc:formatters 2011-01-27 11:26:19 +00:00
Rossen Stoyanchev
f26b499cbd SPR-7732, SPR-6506, SPR-7191 MVC Namespace improvements to the annotation-driven element - custom message converters, formatters, and message codes resolver. 2011-01-25 17:49:57 +00:00
Arjen Poutsma
157623b47f SPR-6902 - @ResponseBody does not work with @ExceptionHandler 2011-01-10 12:26:57 +00:00
Keith Donald
0d28b70aa8 failing test case 2011-01-07 20:58:20 +00:00
Keith Donald
7bf4e93783 out of memory test case 2011-01-07 20:56:42 +00:00
Keith Donald
414fcab899 sp7839 - map autogrow, including auto-grow support for map values 2011-01-07 19:22:45 +00:00
Keith Donald
b5c167bdb1 ignore failing tests temp for array nesting level bug and map autogrow bug 2011-01-07 17:59:51 +00:00
Keith Donald
90d8dade25 fixed bug related to array autogrow 2011-01-07 17:54:17 +00:00
Keith Donald
8df6b86dd1 ignore failing test 2011-01-07 17:29:00 +00:00
Keith Donald
5d6840e877 array autogrow on set e.g. array[0]=foo 2011-01-07 17:28:18 +00:00
Chris Beams
a7293d2961 Introduce ApplicationContextInitializer interface
Designed primarily for use in conjunction with web applications
to provide a convenient mechanism for configuring the container
programmatically.

ApplicationContextInitializer implementations are specified through the
new "contextInitializerClasses" servlet context parameter, then detected
and invoked by ContextLoader in its customizeContext() method.

In any case, the semantics of ApplicationContextInitializer's
initialize(ConfigurableApplicationContext) method require that
invocation occur *prior* to refreshing the application context.

ACI implementations may also implement Ordered/PriorityOrdered and
ContextLoader will sort instances appropriately prior to invocation.

Specifically, this new support provides a straightforward way to
programmatically access the container's Environment for the purpose
of adding, removing or otherwise manipulating PropertySource objects.

See Javadoc for further details.

Also note that ApplicationContextInitializer semantics overlap to
some degree with Servlet 3.0's notion of ServletContainerInitializer
classes. As Spring 3.1 development progresses, we'll likely see
these two come together and further influence one another.
2011-01-07 09:57:57 +00:00
Keith Donald
cc91efecae Fixed bugs in bean wrapper related to nesting levels on method parameters 2011-01-05 19:18:29 +00:00
Keith Donald
3536b8178d failing nested list binding 2011-01-05 17:10:05 +00:00