在我的spring应用程序上下文文件中,我有类似的东西:
<util:map id="someMap" map-class="java.util.HashMap" key-type="java.lang.String" value-type="java.lang.String">
<entry key="some_key" value="some value" />
<entry key="some_key_2" value="some value" />
</util:map>
Run Code Online (Sandbox Code Playgroud)
在java类中,实现如下:
private Map<String, String> someMap = new HashMap<String, String>();
someMap = (HashMap<String, String>)getApplicationContext().getBean("someMap");
Run Code Online (Sandbox Code Playgroud)
在Eclipse中,我看到一条警告说:
类型安全:从Object到HashMap的未选中转换
我做错了什么?我该如何解决这个问题?
使用XPath,如何选择没有属性的节点(其中属性count = 0)?
例如:
<nodes>
<node attribute1="aaaa"></node>
<node attribute1="bbbb"></node>
<node></node> <- FIND THIS
</nodes>
Run Code Online (Sandbox Code Playgroud) 我想尝试gevent,但安装后我无法加载任何gevent模块.
安装步骤如下:
sudo apt-get install libevent-dev
sudo pip install greenlet
sudo pip install gevent
Run Code Online (Sandbox Code Playgroud)
环境设置是Ubuntu 10.10 x86_64 GNU/Linux.
当我尝试做一个简单的测试时,我得到:
>>> import gevent
>>> from gevent import socket
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name socket
Run Code Online (Sandbox Code Playgroud)
我怀疑安装没有做它应该做的事,但我不确定是什么问题.
我在http://static.springsource.org/spring/docs/3.0.0.M3/reference/html/ch04s04.html中解释了3个范围,即请求,原型和单例,我感到有些困惑 .我的疑虑是: -
RequestScope: - 来自客户端的Web请求,在同一个请求中,我们使用语句factory.getBean("MyBean1")创建bean,它将返回两个不同的实例.我的理解是它将返回与在同一http请求下完成的相同的实例.对?虽然它会在原型请求的情况下返回两个不同的实例.正确?
原型: - 每次发出对特定bean的请求时,它都会导致创建一个新的bean实例.根据经验,您应该将原型范围用于所有有状态的bean,而单例范围应该用于无状态bean.为什么它与请求范围以及它对有状态bean的支持有何不同.
单身人士: - 根据4.4.1的规定编写.
请注意,Spring的单例bean概念与开创性的Gang of Four(GoF)模式书中定义的Singleton模式完全不同.GoF Singleton对对象的范围进行硬编码,使得每个ClassLoader将创建一个且只有一个特定类的实例.Spring单例的范围最好按容器和每个bean描述.
我的问题在于声明"Spring单例的范围最好按容器和每个bean来描述"
每个容器: - 我们在任何应用程序中都有多个核心容器吗?我的理解是,如果我们在应用程序中两次创建BeanFactory factory = new XmlBeanFactory("MyXml"),我们可以说存在两个容器实例.对吗?在这种情况下,我们可以使用bean的两个实例,即使它被声明为singleton.它是否正确?
在一些网站上声明,Spring核心容器避免了对单例进行编程的需要.这里他们的意思是我们没有单独容器的代码将为我们提供它.对?这里的问题是如果我们在bean中声明公共构造函数.容器是否仍然为该bean提供单例(范围是该bean的xml文件中的单例)?