小编Fab*_*enB的帖子

类型安全:未经检查的演员

在我的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的未选中转换

我做错了什么?我该如何解决这个问题?

java spring unchecked type-safety

248
推荐指数
7
解决办法
34万
查看次数

XPath:如何选择没有属性的节点?

使用XPath,如何选择没有属性的节点(其中属性count = 0)?

例如:

<nodes>
    <node attribute1="aaaa"></node>
    <node attribute1="bbbb"></node>
    <node></node> <- FIND THIS
</nodes>
Run Code Online (Sandbox Code Playgroud)

xpath

86
推荐指数
3
解决办法
3万
查看次数

gevent无法在Ubuntu上正确安装

我想尝试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)

我怀疑安装没有做它应该做的事,但我不确定是什么问题.

python gevent

42
推荐指数
2
解决办法
4万
查看次数

春天的豆子范围不同?

我在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文件中的单例)?

spring

4
推荐指数
1
解决办法
5677
查看次数

标签 统计

spring ×2

gevent ×1

java ×1

python ×1

type-safety ×1

unchecked ×1

xpath ×1