Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
.-Smile-.
spring-framework
提交
90493f49
S
spring-framework
项目概览
.-Smile-.
/
spring-framework
与 Fork 源项目一致
从无法访问的项目Fork
通知
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,发现更多精彩内容 >>
提交
90493f49
编写于
7月 29, 2015
作者:
J
Juergen Hoeller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Notes about autowiring in configuration classes and late registration scenarios
Issue: SPR-12970 Issue: SPR-13285
上级
ff46cec5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
20 addition
and
5 deletion
+20
-5
src/asciidoc/core-beans.adoc
src/asciidoc/core-beans.adoc
+20
-5
未找到文件。
src/asciidoc/core-beans.adoc
浏览文件 @
90493f49
...
...
@@ -384,6 +384,16 @@ supports this registration through the methods `registerSingleton(..)` and
`
registerBeanDefinition
(..)`.
However
,
typical
applications
work
solely
with
beans
defined
through
metadata
bean
definitions
.
[
NOTE
]
====
Bean
metadata
and
manually
supplied
singleton
instances
need
to
be
registered
as
early
as
possible
,
in
order
for
the
container
to
properly
reason
about
them
during
autowiring
and
other
introspection
steps
.
While
overriding
of
existing
metadata
and
existing
singleton
instances
is
supported
to
some
degree
,
the
registration
of
new
beans
at
runtime
(
concurrently
with
live
access
to
factory
)
is
not
officially
supported
and
may
lead
to
concurrent
access
exceptions
and
/
or
inconsistent
state
in
the
bean
container
.
====
[[
beans
-
beanname
]]
...
...
@@ -6557,15 +6567,20 @@ classes, each depending on beans declared in the others:
----
There
is
another
way
to
achieve
the
same
result
.
Remember
that
`@
Configuration
`
classes
are
ultimately
just
another
bean
in
the
container
-
this
means
that
they
can
take
advantage
of
`@
Autowired
`
injection
metadata
just
like
any
other
bean
!
ultimately
just
another
bean
in
the
container
:
This
means
that
they
can
take
advantage
of
`@
Autowired
`
and
`@
Value
`
injection
etc
just
like
any
other
bean
!
[
WARNING
]
====
Make
sure
that
the
dependencies
you
inject
that
way
are
of
the
simplest
kind
only
.
`@
Configuration
`
classes
are
processed
quite
early
during
the
initialization
of
the
context
and
forcing
a
dependency
to
be
injected
this
way
may
lead
to
unexpected
early
initialization
.
Whenever
possible
,
resort
to
parameter
-
based
injection
as
in
the
example
above
.
classes
are
processed
quite
early
during
the
initialization
of
the
context
and
forcing
a
dependency
to
be
injected
this
way
may
lead
to
unexpected
early
initialization
.
Whenever
possible
,
resort
to
parameter
-
based
injection
as
in
the
example
above
.
Also
,
be
particularly
careful
with
`
BeanPostProcessor
`
and
`
BeanFactoryPostProcessor
`
definitions
via
`@
Bean
`.
Those
should
usually
be
declared
as
`
static
@
Bean
`
methods
,
not
triggering
the
instantiation
of
their
containing
configuration
class
.
Otherwise
,
`@
Autowired
`
and
`@
Value
`
won
't
work on the configuration class itself since it is being created as a bean instance too early.
====
[source,java,indent=0]
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录