确保Spring bean设置了所有属性并调用init方法的最简洁方法是什么?
我会赞成使用setter注入和XML配置的答案,因为这就是我现在正在使用的.
我试图逃避我忘记配置一个setter或调用的情况init-method.
在未来的项目中,我赞成skaffman的回应,但我现在选择了适合我的那个.
在setter方法上使用@Required注释.然后,Spring将检查它们是否已全部设置,无需您手动检查.
或者,使用@PostConstruct注释您的init方法,Spring将为您调用它们.
您可以将dependency-check属性添加到bean定义中,以确保已设置所有对象/基元/两者.
<bean id="myBean" class="com.foo.MyBean" dependency-check="objects"/>
Run Code Online (Sandbox Code Playgroud)
Skaffman的答案提供了更多控制,但确实引入了一个您可能/可能不想要的Spring编译时依赖.
使用 beans 标记的以下属性来确保依赖性检查并在所有 bean 上调用 init 方法,但它假设您不调用方法“innit”。
<beans default-init-method="init" default-dependency-check="objects">
Run Code Online (Sandbox Code Playgroud)
见链接
| 归档时间: |
|
| 查看次数: |
3132 次 |
| 最近记录: |