小编Pre*_*raj的帖子

哪个是java中用于XML解析的最佳库

我正在搜索java库来解析XML(复杂的配置和数据文件),我搜索了一下但是找不到除了dom4j(好像他们正在使用V2)..我已经看过公共配置但是没有不喜欢它,其他关于XML的apache项目似乎处于休眠状态.我没有自己评估dom4j但只是想知道 - java有其他(好的)开源xml解析库吗?你对dom4j的体验如何?

在@Voo的回答之后让我问另一个 - 我应该在内置类或任何第三个库中使用java,比如dom4j.有什么优点?

java xml parsing

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

春天自我注射

我尝试使用Spring 3.x的以下代码失败了BeanNotFoundException,它应该根据我之前问过的问题的答案 - 我可以使用Spring注入相同的类吗?

@Service
public class UserService implements Service{
    @Autowired
    private Service self;
}
Run Code Online (Sandbox Code Playgroud)

自从我用Java 6尝试这个以来,我发现以下代码工作正常:

@Service(value = "someService")
public class UserService implements Service{
    @Resource(name = "someService")
    private Service self;
}
Run Code Online (Sandbox Code Playgroud)

但我不明白它如何解决循环依赖.

编辑:
这是错误消息.OP在其中一个答案的评论中提到它:

由以下原因引起:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有为依赖项找到类型为[com.spring.service.Service]的匹配bean:期望至少有一个bean可以作为此依赖项的autowire候选者.依赖注释:{@ org.springframework.beans.factory.annotation.Autowired(required = true)}

java spring dependency-injection ioc-container

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

ie9边界半径

我有以下适用于Firefox,Chrome和Safari.但不是在IE9中.它将圆角应用于td的左上角和右上角.我错过了什么?

border-left: solid 1px #444f82;
border-right:solid 1px #444f82;
border-top:solid 1px #444f82;
border-top-right-radius: 7px;
border-top-left-radius: 7px;
-moz-border-radius-topright: 7px;
-webkit-border-top-right-radius: 7px;
-khtml-border-radius-topright: 7px;
-moz-border-radius-topleft: 7px;
-webkit-border-top-left-radius: 7px;
-khtml-border-radius-topleft: 7px;
behavior: url(/survey_templates/PIE.htc);
Run Code Online (Sandbox Code Playgroud)

html5 css3 internet-explorer-9

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

地图中HashMap的ImmutableMap.of()变通方法?

有一些实用方法可以创建ImmutableMaplike Immutable.of(Key, value)和它的重载.

但这种方法在课堂上HashMap或课堂上都不存在. 有没有更好的方法来做到这一点或番石榴假设这样的地图总是一个恒定的地图,是最好的选择,并不需要提供实用程序.LinkedHashMapMaps

ImmutableMapHashMap

java collections guava

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

主方法的奇怪行为

我有一个类 -

public class Test{
    public static void main(String[] args){
        for(String s: args){
            System.out.println(s);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我像>运行这个程序时,java Test *它会打印该文件夹中所有文件的名称.
我不知道JVM或Windows是否通过这个数组而不是'*',我想知道这个程序在其他平台上是否表现相同(除了windows)以及它为什么会以这种方式运行?这有什么目的或原因吗?

注意:
它不会破坏我的任何代码,但我只是好奇.

java windows jvm

23
推荐指数
1
解决办法
294
查看次数

如何将Map <String,String>转换为Map <Long,String>?(选项:使用番石榴)

我有一个Map<String, String>String关键无非是像"123"等我得到的数值,因为这个数值是从UI在我的JSF组件来数值.我不想更改UI组件的合同.

现在我想创建一个Map<Long, String>基于上面的内容Map,我transformMaps类中看到了一些方法但是所有方法都专注于转换值而不是键.

有没有更好的转换Map<String, String>方式Map<Long, String>

java guava

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

为什么不映射#removeAll(Collection <?>)?

为什么MapJava中的接口没有removeAll(Collection<?> c)像删除密钥的方法map.remove(Object)

我知道我可以随时做map.keySet().removeAll(..)..但这是一个Map没有的原因removeAll()并鼓励我们一起去map.keySet().removeAll(..)吗?

java collections

17
推荐指数
1
解决办法
7748
查看次数

我可以在枚举上使用Spring的@Component吗?

我正在使用Spring 3.0.x并遵循枚举单例模式来实现我的一个实现.

public enum Person implements Nameable {
    INSTANCE;

    public String getName(){
        // return name somehow (Having a variable but omitted for brevity)
    }
}
Run Code Online (Sandbox Code Playgroud)

最近我们开始通过Spring收集这些类型,所以我需要将@Component添加到我的类中.

@Component
public enum Person implements Nameable {
    INSTANCE;

    public String getName(){
        // return name somehow (Having a variable but omitted for brevity)
    }
}
Run Code Online (Sandbox Code Playgroud)

和收集方法是

@Autowired
public void collectNameables(List<Nameable> all){
    // do something 
}
Run Code Online (Sandbox Code Playgroud)

在这样做后,我观察到失败和原因是Spring无法初始化枚举类(这是可以理解的).

我的问题是 -
有没有其他方法可以将我的枚举类标记为bean?
或者我需要改变我的实施?

java enums spring

15
推荐指数
2
解决办法
9819
查看次数

文件之间的区别#删除(路径)和文件#delete()

我正在使用带有java 7更新6的Windows-7并发现这个奇怪的(至少对我而言)行为 -
我有两个文件E:\delete1.txt并且E:\delete2.txt都是只读文件,当我尝试删除文件时,如果它被删除而没有任何问题 -

File file = new File("E:\\delete1.txt"); 
assertTrue(file.delete());
Run Code Online (Sandbox Code Playgroud)

但是当我使用nio API删除文件时如下 -

Path path = Paths.get("E:\\delete2.txt");
Files.delete(path);
Run Code Online (Sandbox Code Playgroud)

它抛出java.nio.file.AccessDeniedException.

为什么使用旧的和新的nio API进行相同操作的行为不同?

java file-io nio

14
推荐指数
1
解决办法
1万
查看次数

我可以装饰Joiner类的番石榴

我有一个List<String>,我们正在使用Joiner来获得该列表的逗号分隔表示,但现在我们需要做一点改进,我们需要大写列表中的值.现在代码是 -

String str = Joiner.on(',').skipNulls().join(myValueList);
Run Code Online (Sandbox Code Playgroud)

但是现在因为我需要将值中的字符串大写,我需要首先迭代它以大写然后传递给Joiner加入,但我不认为这是一个好方法,因为它将迭代List两次,一次到大写,然后Joiner将迭代加入.
是否有任何其他实用方法我可能会在一次迭代中执行此操作.

你会怎么用番石榴做的?

java guava

13
推荐指数
2
解决办法
4004
查看次数