如果你有
private static MyDAO myDAO;
Run Code Online (Sandbox Code Playgroud)
并在applicationContext中声明为
<bean id="myDAO" scope="singleton" class="my.MyDAO" />
Run Code Online (Sandbox Code Playgroud)
当已经声明为单例时,使用static修饰符声明myDAO会有什么影响吗?
提前致谢!
bean声明意味着Spring IoC系统将只创建my.MyDOA对象的一个实例(每个webapp).但是没有什么可以阻止其他事情(例如你的代码)创建其他实例.
如果myDAO通过Spring IoC 填充变量(使用接线文件或注释),则不需要将其声明为静态.如果包含该声明的类的多个实例,并且实例由Spring IoC创建/连接,则变量的所有副本将获得相同的值.宣称它static是毫无意义和糟糕的风格.
另一方面,如果您的应用程序正在创建包含该声明的类的实例,那么它将需要采取适当的步骤来初始化它.初始化变量的方法取决于变量是否为静态.你可能不想这样做......
| 归档时间: |
|
| 查看次数: |
2959 次 |
| 最近记录: |