小编Boz*_*zho的帖子

Rails中是否存在依赖注入?

Rails有MVC方法的事实是否意味着依赖注入?

或者有没有理由我们不讨论Rails中的依赖注入?

如果Rails确实有依赖注入,它包含什么?

ruby spring dependency-injection ruby-on-rails

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

嘲笑单身人士班

我最近读到,制作类单例使得无法模拟类的对象,这使得测试其客户端变得困难.我无法立即理解其根本原因.有人可以解释为什么不可能嘲笑单身人士课程?此外,还有更多的问题与制作班级单身人士有关吗?

java oop unit-testing

52
推荐指数
5
解决办法
6万
查看次数

具有无限参数的Java方法

spring框架使用的方法可以传递任意数量的参数.

我想写一个函数,也可以采取无限量的数据.如何调用此功能以便我可以阅读它.或者我该如何定义它?

非常感谢.

java methods arguments

52
推荐指数
2
解决办法
6万
查看次数

使用facelets(jsf)和xhtml进行Eclipse自动完成(内容辅助)

如何使用facelets在JSF(1.2)标签的.xhtml页面中激活eclipse(3.5,WTP)内容?它适用于.jsp文件,但不适用于xhtml.

我谷歌很多,并且在很多地方(包括MyFaces wiki)都说 - "Eclipse无法使用xhtml和facelets"

由于这适用于.jsp文件,我假设可能有一些机制可用于激活该内容辅助.

我开始研究一个已经拥有大量代码库的项目,因此不能选择更改扩展名.额外的插件也是不受欢迎的,但如果没有其他工作可以接受.

(我问的问题是验证某人是否没有找到这个问题的诙谐解决方法 - 否则我知道这是不可能的)

java eclipse jsf facelets

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

f:convertDateTime显示错误的日期

在我的Web应用程序中,我使用Hibernate检索数据并将其显示在RichFaces dataTable中.

在我的MySQL表中有一个类型为"date"的字段.当我将此字段打印到我的Bean中的日志时,它会显示数据库中的正确日期(例如2010-04-21).但在富人:dataTable中,它显示如下:

一零年四月二十零日

所以有一天的差异!

我添加了"f:convertDateTime"转换器并将"type"属性设置为"both"以便显示时间.现在它显示:

4/20/10 10:00:00 PM

我用过的"f:convertDateTime"代码:

<f:convertDateTime locale="locale.US" type="both" dateStyle="short"/>
Run Code Online (Sandbox Code Playgroud)

所以看起来像f:convertDateTime梦想有一段时间,因为MySQL-table字段中没有时间信息!

我究竟做错了什么?要显示正确的日期,我需要做什么?

谢谢汤姆

java jsf hibernate richfaces jsf-2

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

XML文档到字符串?

我一直在摆弄这个超过二十分钟,而我的Google-foo让我失望了.

假设我有一个用Java创建的XML文档(org.w3c.dom.Document):

DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document document = docBuilder.newDocument();

Element rootElement = document.createElement("RootElement");
Element childElement = document.createElement("ChildElement");
childElement.appendChild(document.createTextNode("Child Text"));
rootElement.appendChild(childElement);

document.appendChild(rootElement);

String documentConvertedToString = "?" // <---- How?
Run Code Online (Sandbox Code Playgroud)

如何将文档对象转换为文本字符串?

java

45
推荐指数
2
解决办法
8万
查看次数

从ProceedingJoinPoint获取java.lang.reflect.Method?

问题很简单:有没有办法从apsectj ProceedingJoinPoint获取Method对象?

目前我在做

Class[] parameterTypes = new Class[joinPoint.getArgs().length];
Object[] args = joinPoint.getArgs();
for(int i=0; i<args.length; i++) {
    if(args[i] != null) {
        parameterTypes[i] = args[i].getClass();
    }
    else {
        parameterTypes[i] = null;
    }
}

String methodName = joinPoint.getSignature().getName();
Method method = joinPoint.getSignature()
    .getDeclaringType().getMethod(methodName, parameterTypes);
Run Code Online (Sandbox Code Playgroud)

但我不认为这是要走的路......

aop spring aspectj spring-aop java-ee

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

在序列化方面,Spring会话范围的bean(控制器)和对服务的引用

  • 标准案例 - 你有一个控制器(@Controller)@Scope("session").
  • 例如,通常期望放入会话中的类实现,Serializable以便在服务器重新启动时可以物理存储它们
  • 如果控制器实现Serializable,这意味着它所引用的所有服务(其他spring bean)也将被序列化.它们通常是代理,引用了交易管理器,实体管理器工厂等.
  • 某些服务甚至控制器ApplicationContext通过实现来保持对引用的引用并不是不太可能ApplicationContextAware,因此这可以有效地意味着整个上下文被序列化.并且鉴于它拥有许多连接 - 即不能通过思想序列化的东西,它将在腐败状态下恢复.

到目前为止,我大多忽略了这些问题.最近我想到声明我所有的spring依赖项transientreadResolve()通过静态实用程序类将它们重新WebApplicationContextUtils导入,并将请求/ ServletContext保存在ThreadLocal.这很乏味,但它保证了,当反序列化对象时,它的依赖关系将与当前应用程序上下文"保持同步" .

是否有任何公认的做法,或任何序列化春季背景部分的指南.

请注意,在JSF中,托管bean(~controller)是有状态的(与基于动作的Web框架不同).所以也许我的问题更多的是JSF,而不是spring-mvc.

java jsf serialization spring servlets

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

为什么人们如此害怕使用clone()(在集合和JDK类上)?

有很多次我认为使用clone()并不是一种糟糕的做法.是的,我知道这些论点.布洛赫说这很糟糕.他的确做到了,但他说实施clone()很糟糕.另一方面,使用clone,特别是如果它由可信库(如JDK)正确实现,则可以.

就在昨天,我讨论了我的一个答案,仅仅暗示使用clone()for ArrayList是可以的(并且由于这个原因没有投票,我猜).

如果我们看@authorArrayList,我们可以看到一个熟悉的名字-乔希布洛赫.因此,clone()ArrayList(和其他收藏品)是完全正常的(看看他们的实现).

同样的Calendar,也许是大多数java.langjava.util类.

那么,请告诉我为什么不使用 clone() JDK类?

java

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

在CDI中注入对象列表(焊接)

比方说,我有一个名为接口SocialNetworkService,以及三种实现- TwitterService,FacebookServiceFriendFeedService.

现在我希望,只要我的托管bean(或任何Web组件)收到消息,就可以在所有社交网络中共享它.我试过了:

@Inject private List<SocialNetworkService> socialNetworkServices;
Run Code Online (Sandbox Code Playgroud)

但它不起作用(部署错误).(也尝试了@Any限定符 - 相同的结果)

那么,有没有办法注入接口的所有(或某些)实现的列表?

我知道给定注入点不应该有多个可能的bean的规则.我想我可以通过制作一个生成列表和使用的生产者来实现这一目标Instance<SocialNetworkService>,但这对于这项任务来说似乎太多了.

java cdi jboss-weld

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