Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
50dfa037
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
50dfa037
编写于
1月 16, 2014
作者:
J
Juergen Hoeller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Several ref doc fixes
Issue: SPR-8182 Issue: SPR-11243 Issue: SPR-11292 Issue: SPR-11318
上级
e2c6e637
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
32 addition
and
53 deletion
+32
-53
src/asciidoc/index.adoc
src/asciidoc/index.adoc
+32
-53
未找到文件。
src/asciidoc/index.adoc
浏览文件 @
50dfa037
...
...
@@ -826,8 +826,9 @@ deployed onto a Java 8 runtime. Please upgrade to Spring 4 for Java 8 based appl
Java EE version 6 or above is now considered the baseline for Spring Framework 4, with
the JPA 2.0 and Servlet 3.0 specifications being of particular relevance. In order to
remain compatible with Google App Engine and older application servers, it is possible
to deploy a Spring application into a Servlet 2.5 environment; however, Servlet 3.0+
is recommended when at all possible.
to deploy a Spring 4 application into a Servlet 2.5 environment. However, Servlet 3.0+
is strongly recommended and a prerequisite in Spring's test and mock packages for test
setups in development environments.
[NOTE]
====
...
...
@@ -2333,19 +2334,6 @@ the values in the `name` attribute of the target bean.
<ref bean="someBean"/>
----
Specifying the target bean through the `local` attribute leverages the ability of the
XML parser to validate XML `id` references within the same file. The value of the `local`
attribute must be the same as the `id` attribute of the target bean. The XML parser
issues an error if no matching element is found in the same file. As such, using the
local variant is the best choice (in order to know about errors as early as possible) if
the target bean is in the same XML file.
[source,xml,indent=0]
[subs="verbatim,quotes"]
----
<ref local="someBean"/>
----
Specifying the target bean through the `parent` attribute creates a reference to a bean
that is in a parent container of the current container. The value of the `parent`
attribute may be the same as either the `id` attribute of the target bean, or one of the
...
...
@@ -2376,6 +2364,13 @@ container with a proxy that will have the same name as the parent bean.
</bean>
----
[NOTE]
====
The `local` attribute on the `ref` element is no longer supported in the 4.0 beans xsd
since it does not provide value over a regular `bean` reference anymore. Simply change
your existing `ref local` references to `ref bean` when upgrading to the 4.0 schema.
====
[[beans-inner-beans]]
===== Inner beans
...
...
@@ -3385,12 +3380,12 @@ processed by the Spring `DispatcherServlet`, or `DispatcherPortlet`, then no spe
setup is necessary: `DispatcherServlet` and `DispatcherPortlet` already expose all
relevant state.
If you use a Servlet 2.
4+
web container, with requests processed outside of Spring's
If you use a Servlet 2.
5
web container, with requests processed outside of Spring's
DispatcherServlet (for example, when using JSF or Struts), you need to register the
`org.springframework.web.context.request.RequestContextListener` `ServletRequestListener`.
For Servlet 3.0+, this can done programmatically via the `WebApplicationInitializer`
interface. Alternatively, or for older containers, add the following declaration to
your
web application
s `web.xml` file:
interface. Alternatively, or for older containers, add the following declaration to
your web application'
s `web.xml` file:
[source,xml,indent=0]
[subs="verbatim,quotes"]
...
...
@@ -3406,12 +3401,9 @@ web applications `web.xml` file:
</web-app>
----
If you use an older web container (Servlet 2.3), use the provided `javax.servlet.Filter`
implementation. The following snippet of XML configuration must be included in the
`web.xml` file of your web application if you want to access web-scoped beans in
requests outside of Spring's DispatcherServlet on a Servlet 2.3 container. (The filter
mapping depends on the surrounding web application configuration, so you must change it
as appropriate.)
Alternatively, if there are issues with your listener setup, consider the provided
`RequestContextFilter`. The filter mapping depends on the surrounding web
application configuration, so you have to change it as appropriate.
[source,xml,indent=0]
[subs="verbatim,quotes"]
...
...
@@ -5977,7 +5969,10 @@ The use of `<context:component-scan>` implicitly enables the functionality of
====
The scanning of classpath packages requires the presence of corresponding directory
entries in the classpath. When you build JARs with Ant, make sure that you do __not__
activate the files-only switch of the JAR task.
activate the files-only switch of the JAR task. Also, classpath directories may not
get exposed based on security policies in some environments, e.g. standalone apps on
JDK 1.7.0_45 and higher (which requires 'Trusted-Library' setup in your manifests; see
http://stackoverflow.com/questions/19394570/java-jre-7u45-breaks-classloader-getresources).
====
Furthermore, the `AutowiredAnnotationBeanPostProcessor` and
...
...
@@ -8141,16 +8136,6 @@ You can create `ApplicationContext` instances declaratively by using, for exampl
`ContextLoader`. Of course you can also create `ApplicationContext` instances
programmatically by using one of the `ApplicationContext` implementations.
The `ContextLoader` mechanism comes in two flavors: the `ContextLoaderListener` and the
`ContextLoaderServlet`. They have the same functionality but differ in that the listener
version is not reliable in Servlet 2.3 containers. In the Servlet 2.4 specification,
Servlet context listeners must execute immediately after the Servlet context for the web
application is created and is available to service the first request (and also when the
Servlet context is about to be shut down). As such a Servlet context listener is an
ideal place to initialize the Spring `ApplicationContext`. All things being equal, you
should probably prefer `ContextLoaderListener`; for more information on compatibility,
have a look at the Javadoc for the `ContextLoaderServlet`.
You can register an `ApplicationContext` using the `ContextLoaderListener` as follows:
[source,xml,indent=0]
...
...
@@ -16358,7 +16343,7 @@ interfaces an `IntroductionInterceptor` is prepared to support, the
`IntroductionAdvisor` used will control which interfaces are actually exposed. An
introduced interface will conceal any implementation of the same interface by the target.
Thus
LockMixin subclasses `DelegatingIntroductionInterceptor` and implements Lockable
Thus
`LockMixin` extends `DelegatingIntroductionInterceptor` and implements `Lockable`
itself. The superclass automatically picks up that Lockable can be supported for
introduction, so we don't need to specify that. We could introduce any number of
interfaces in this way.
...
...
@@ -17216,32 +17201,23 @@ attributes. You need to:
an existing advice, merely implementing a static pointcut that picks up the custom
attribute.
It's possible for such advisors to be unique to each advised class (for example,
mixins): they simply need to be defined as prototype, rather than singleton, bean
definitions. For example, the `LockMixin` introduction interceptor from the Spring test
suite, shown above, could be used in conjunction with an attribute-driven pointcut to
target a mixin, as shown here. We use the generic `DefaultPointcutAdvisor`, configured
using JavaBean properties:
It's possible for such advisors to be unique to each advised class (for example, mixins):
they simply need to be defined as prototype, rather than singleton, bean definitions.
For example, the `LockMixin` introduction interceptor from the Spring test suite,
shown above, could be used in conjunction with a generic `DefaultIntroductionAdvisor`:
[source,xml,indent=0]
[subs="verbatim,quotes"]
----
<bean id="lockMixin" class="org.springframework.aop.LockMixin"
scope="prototype"/>
<bean id="lockMixin" class="test.mixin.LockMixin" scope="prototype"/>
<bean id="lockableAdvisor" class="org.springframework.aop.support.Default
Pointcut
Advisor"
<bean id="lockableAdvisor" class="org.springframework.aop.support.Default
Introduction
Advisor"
scope="prototype">
<property name="pointcut" ref="myAttributeAwarePointcut"/>
<property name="advice" ref="lockMixin"/>
<constructor-arg ref="lockMixin"/>
</bean>
<bean id="anyBean" class="anyclass" ...
----
If the attribute aware pointcut matches any methods in the `anyBean` or other bean
definitions, the mixin will be applied. Note that both `lockMixin` and `lockableAdvisor`
definitions are prototypes. The `myAttributeAwarePointcut` pointcut can be a singleton
definition, as it doesn't hold state for individual advised objects.
Note that both `lockMixin` and `lockableAdvisor` are defined as prototypes.
...
...
@@ -17603,6 +17579,9 @@ dealing with Spring MVC `ModelAndView` objects.
To test your Spring MVC `Controller` s, use `ModelAndViewAssert` combined with
`MockHttpServletRequest`, `MockHttpSession`, and so on from the <<mock-objects-servlet,
`org.springframework.mock.web`>> package.
Note: As of Spring 4.0, the set of mocks in the `org.springframework.mock.web` package
is now based on the Servlet 3.0 API.
====
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录