Commit Graph
377 Commits
Author SHA1 Message Date
Chris Beams 0756a6abfe Polish PropertySource and Environment Javadoc 2011-05-25 10:52:03 +00:00
Chris Beams c696e195fa Introduce AnnotationConfigCapableApplicationContext
AnnotationConfigApplicationContext and
AnnotationConfigWebApplicationContext both expose #register and #scan
methods as of the completion of SPR-8320. This change introduces a new
interface that declares each of these methods and refactors ACAC and
ACWAC to implement it.

Beyond information value, this is useful for implementors of the
ApplicationContextInitializer interface, in that users may create an ACI
that works consistently across ACAC and ACWAC for standalone (e.g.
testing, batch) or web (e.g. production) use.

Issue: SPR-8365,SPR-8320
2011-05-23 10:03:23 +00:00
Chris Beams e128ee2464 Introduce AnnotationConfigWAC #scan and #register
Primarily for use in conjunction with ApplicationContextInitializer,
these new #scan and #register methods mirror those in
AnnotationConfigApplicationContext. #setConfigLocation
and #setConfigLocations methods remain for compatibility with
ContextLoader-style initialization, but have been locally overridden
and documented clearly.

AnnotationConfigWebApplicationContext#loadBeanDefinitions Javadoc has
also been updated to explain the processing logic for each of these
potential inputs.

Issue: SPR-8320
2011-05-23 10:02:50 +00:00
Chris Beams c481d2e9fb Rename {Default=>Standard}PortletEnvironment
Issue: SPR-8348
2011-05-20 03:57:35 +00:00
Chris Beams f893b62a9b Rename {DefaultWeb=>StandardServlet}Environment
Issue: SPR-8348
2011-05-20 03:55:56 +00:00
Chris Beams c06752ef72 Rename {Default=>Standard}Environment
Issue: SPR-8348
2011-05-20 03:53:37 +00:00
Chris Beams 7271ba8182 Introduce AbstractEnvironment#customizePropertySources
This new hook in the AbstractEnvironment lifecycle allows for more
explicit and predictable customization of property sources by
subclasses.  See Javadoc and existing implementations for detail.

Issue: SPR-8354
2011-05-20 03:50:14 +00:00
Arjen Poutsma 1eaca65720 @RequestMapping.consumes() and produces() now default to an empty array, instead of */* 2011-05-18 11:34:47 +00:00
Arjen Poutsma a618bcc8cd Exposing HttpServletRequest/Response in ServletServerHttpRequest/Response 2011-05-18 11:24:57 +00:00
Arjen Poutsma ad2e0d4587 SPR-7353 - @ResponseBody and returned HttpEntity now respect @RequestMapping.produces() 2011-05-17 09:45:57 +00:00
Arjen Poutsma bb2cc8457f SPR-7353 - Added equivalent of JAX-RS @Produces to Spring MVC 2011-05-13 09:43:45 +00:00
Arjen Poutsma 8190b4f70a Javadoc 2011-05-12 09:00:39 +00:00
Arjen Poutsma 71aae405d5 SPR-7354 - Added equivalent of JAX-RS @Consumes to Spring MVC 2011-05-10 09:23:00 +00:00
Arjen Poutsma b058d1e07a Made comparators public, as they are needed elsewhere. 2011-05-09 11:20:49 +00:00
Chris Beams 2092a31f9d Rename DataBinderFactory subtypes for concision 2011-05-06 19:12:14 +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
Arjen Poutsma a4716c2a94 Buffering RequestFactory that allows for multiple response body reads. 2011-04-21 15:09:44 +00:00
Rossen Stoyanchev 945cf43e2d Remove consumes from @RequestMapping 2011-04-21 14:54:55 +00:00
Arjen Poutsma ab654a7a06 added toString to HttpEntity 2011-04-21 11:39:20 +00:00
Rossen Stoyanchev 9c65973b33 SPR-8214 review unit tests 2011-04-15 18:42:58 +00:00
Rossen Stoyanchev aa065e8310 SPR-8214 Javadoc and polish 2011-04-13 23:15:19 +00:00
Micha Kiener f812cd748e SPR-6416, initial commit for the conversation management 2011-04-12 13:21:18 +00:00
Arjen Poutsma 54bbcf3a42 SPR-6180 - Upgrade Apache HttpClient to version 4.0 2011-04-11 13:12:45 +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 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 acc75aa4b8 SPR-8215 Move HandlerMethod code into trunk 2011-04-06 11:30:59 +00:00
Arjen Poutsma 0f7d43ba90 Allow for customization of the media type for forms. 2011-04-05 09:48:09 +00:00
Arjen Poutsma bc342df08f @MVC 2.0: AbstractAnnotationMAR -> AbstractNamedValueMAR 2011-02-25 11:05:14 +00:00
Juergen Hoeller 03190950d1 polishing 2011-02-10 22:19:10 +00:00
Arjen Poutsma c4a954a618 SPR-7494 - Introduce interceptors for RestTemplate 2011-01-28 14:24:52 +00:00
Arjen Poutsma 62425568b9 SPR-7494 - Introduce interceptors for RestTemplate 2011-01-28 09:17:00 +00:00
Juergen Hoeller b3f039ae5f Servlet/PortletRequestDataBinder perform unwrapping for MultipartRequest as well (SPR-7795) 2011-01-26 20:09:42 +00:00
Arjen Poutsma 4835be78b7 Made abstract requests public again 2011-01-26 16:09:41 +00:00
Arjen Poutsma 4e50eafe74 Small performance improvement 2011-01-26 14:43:34 +00:00
Arjen Poutsma d0d6a07870 SPR-7909 - Sending large payloads with RestTemplate results in an OutOfMemoryError 2011-01-25 16:08:15 +00:00
Arjen Poutsma 33674933ea OutOfMemory Errors when posting large objects via RestTemplate 2011-01-25 09:48:19 +00:00
Arjen Poutsma 465e093bfb SPR-7729 - MediaType incorrectly calls the toString() method instead of name() method causing RestTemplate on Android to fail 2011-01-10 15:45:42 +00:00
Arjen Poutsma 4998d061f8 SPR-7869 - Accept-Charset header with '*' results in java.nio.charset.IllegalCharsetNameException 2011-01-10 11:24:48 +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
Chris Beams 15ac99f59c Introduce and integrate JndiPropertySource
DefaultWebEnvironment automatically adds a JndiPropertySource if
a "jndiPropertySourceEnabled" property is detected in any of the
other other default property sources.
2011-01-06 07:43:29 +00:00
Chris Beams 2b99cf6d29 Refactor Environment and PropertySource
* Environment now extends PropertyResolver
* Environment no longer exposes resolver and sources
* PropertySource is String,Object instead of String,String
* PropertySource no longer assumes enumerability of property names
* Introduced EnumerablePropertySource for those that do have enumerable property names
2011-01-05 22:24:14 +00:00
Arjen Poutsma 74b5b7b56a SPR-7845 - FormHttpMessageConverter.read() always ignores post data when processing request (from Tomcat) 2011-01-04 11:25:30 +00:00
Arjen Poutsma e5d8fa0771 SPR-7834 - HttpHeaders.getEtag() mangles the value 2011-01-03 15:51:23 +00:00
Arjen Poutsma fbede64c86 SPR-7845 - FormHttpMessageConverter.read() always ignores post data when processing request (from Tomcat) 2011-01-03 14:48:34 +00:00
Arjen Poutsma e98afc087f SPR-7845 - FormHttpMessageConverter.read() always ignores post data when processing request (from Tomcat) 2011-01-03 14:38:28 +00:00
Chris Beams 5e6912302a Introduce "Aware" superinterface
All existing *Aware interfaces have been refactored to extend this
new marker interface, serving two purposes:

    * Easy access to a type hierarchy that can answer the question
      "What *Aware interfaces are available?", without requiring
      text-based searches. Also clearly excludes false positives like
      TargetClassAware and ParamAware, which while similarly named,
      are not semantically similar to traditional *Aware interfaces
      in Spring.

    * Minor potential performance improvements in
      AbstractAutowireCapableBeanFactory and
      ApplicationContextAwareProcessor. Both have blocks of sequential
      instanceof checks in order to invoke any *Aware interface callback
      methods. For a bean that implements none of these interfaces,
      the whole sequence can be avoided by guarding first with
          if (bean instanceof Aware) {
              ...
          }

Implementors of custom *Aware-style interfaces (and presumably
the BeanPostProcessors that handle them), are encouraged to refactor to
extending this interface for consistency with the framework as well as
the points above.
2011-01-03 10:13:57 +00:00