Tag: javabeans

Java EL中的动态代理

编辑:我缩小了问题并在此处发布了相关问题。 请检查一下! 我正在尝试使用动态代理来简化HTML表单处理。 我正在使用一个非常简单的MVC设置(没有花哨的框架)在Google App Engine上使用JSP。 我一直得到以下exception: javax.el.PropertyNotFoundException: Could not find property testValue in class com.sun.proxy.$Proxy7 at javax.el.BeanELResolver.toBeanProperty(BeanELResolver.java:430) at javax.el.BeanELResolver.getValue(BeanELResolver.java:290) at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:231) at org.apache.el.parser.AstValue.getValue(AstValue.java:123) at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) … 好的,这是代码。 首先,我代理的接口: public interface MyForm { public String getTestValue(); } 接下来,创建代理的代码: // imports omitted public final class Forms { private Forms() { } public static T fromRequest( final […]

让JSF从EL而不是bean字段访问Map 值?

有没有正确的方法来覆盖JSF从表达式语言访问bean字段的方式? 我的想法是模仿这种行为,以便访问Map值,其中bean字段是地图键。 换句话说,无论如何都可以使用#{beanContainingNestedMap.keyOfSaidNestedMap} ,就像keyOfSaidNestedMap是beanContainingNestedMap一个字段一样? 如果没有,我可以提供其他解决方案吗? 例: Holder.java public class Holder { private Map objects = new HashMap(); public void add(String key, Object value) { objects.put(key, value); } public Object getObject(String key) { return objects.get(key); } } ExampleBean.java public class ExampleBean { private Holder holder = new Holder(); public ExampleBean() { holder.add(“foo”, 42); holder.add(“bar”, ‘X’); } […]

Spring STS挂起的原因是什么?

有时一开始STS挂起。 有可能找到原因吗? 可能存在日志还是可能在调试模式下启动? 我怎么能完全区分挂起和工作非常缓慢? 谢谢。 PS怎么解决?

我是否误解了JavaBean方法命名约定或者这是一个exception?

我的代码中有神秘的事情发生。 这是bean的片段: public List getCFrags() { return cFrags; } public void setCFrags(List frags) { cFrags = frags; } 这是我的视图代码(标记文件)中的片段 cFrags:[${topic.cFrags}] 其中topic是bean类型的对象。 这是错误: javax.el.PropertyNotFoundException: Property ‘cFrags’ not found on type com.company.beans.BeanClass 还有一件事需要考虑。 eclipse生成的setter有一个细微的差别。 显然,它也不喜欢cFrags这个名字。 字段名称是cFrags,并且每隔一个setter我都会得到与该字段同名的参数,并使用约定this.fieldName = fieldName 。 你会注意到eclipse并没有坚持这个setter。 仅供参考:当我将getter更改为getContentsFrag()并引用它.contentsFrag时,这一切都很有效。

自动assemblySpring超类

为什么Spring在自动assembly期间会自动选择超类类型? 例如,如果我有 @Component public class Foo {} @Component public class Bar extends Foo {} 和某人自动assembly @Autowired private Foo foo; 为什么Spring总是选择超类型Foo ? 这不应该是一个“ 模糊 ”的映射(并导致Spring抛出错误)? 难道你不是技术上有两个 Foo候选人吗? (例如,当从Foo中删除@Component时,会自动选择 Bar …)

Java 8设置全局时间格式化程序

我想将自己的DateTimeFormatter设置为全局格式化程序。 当我执行以下行时: ZonedDateTime.now(); 我明白了: 2016-03-30T08:58:54.180-06:00[America/Chicago] 如果我这样做: ZonedDateTime.now().format(DateTimeFormatter.RFC_1123_DATE_TIME) 我明白了: Wed, 30 Mar 2016 9:00:06 -0600 我想要上面打印但是上午/下午所以我制作了自定义格式化程序并打印出时间如下: DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern(“EEE, dd MMM yyyy HH:mm:ss a Z”); ZonedDateTime.now().format(FORMATTER); 哪个给了我: Wed, 30 Mar 2016 9:00:06 AM -0600 但我在任何地方都使用这个.now()方法进行日志记录,我不想在代码中的任何地方定义格式化程序。 有没有办法将格式化程序配置为调用.now()方法时使用的默认格式? 我在想spring的配置方法或者什么……

BeanUtils与ReflectionToStringBuilder的性能(用于Bean类)

我的Web应用程序中有大量的Java bean类,我试图找到一种在这些bean中实现toString()方法的简单方法。 toString()方法将用于整个应用程序的日志记录,并应打印bean中所有属性的属性值对。 我正在尝试两种选择: 1. BeanUtils.describe() (Apache commons-beanutils) 2. ReflectionToStringBuilder.toString() (Apache commons-lang) 由于这是一个预计会有高流量的Web应用程序,因此实现必须是轻量级的,不应影响性能。 (内存使用,处理器使用等是主要考虑因素)。 我想根据上面提到的标准知道哪些更好。 据我所知,reflection是一项繁重的操作,但更多细节和对这两种选项的深入了解将有助于我选择最佳解决方案。

在抽象基类中使用@autowired

据我所知,不建议进行field injection 。 应该使用constructor 。 我在这里尝试做的是在基类的构造函数中使用@Autowired ,并使其可供所有子类访问。 在某些子类中,我还需要一些特定的bean来从它们的构造函数中@Autowired 。 演示代码如下: 基类: public abstract class Base { protected final MyDemoService myDemoService; @Autowired public Base(MyDemoService myDemoService) { this.myDemoService = myDemoService; } } inheritance(子)类: public class Sub extends Base { private final MySubService mySubService; @Autowired public Sub(MySubService mySubService) { this.mySubService = mySubService; } } 这将给我一个’无默认构造函数’错误。 它类似于问题: 类似的问题和答案 ,但它在这里不起作用。 […]

为什么不“有”……有效的JavaBean方法签名的开头?

JavaBeans方法的签名必须遵循某些约定,例如set … / get …等。 它们有一个约定…例如isEven()可以是Integer类测试布尔值的方法。 但后来我想知道为什么没有…也是一个合法的标识符,因为我有必要测试一些东西,例如hasCar()用于Person类或类似的东西。 你明白我的问题吗? 你怎么看?

Java Bean:如何在中生成到Java代码中

例如,我有这个代码: 我知道它是如何工作的。 但是,有时候,我在这里更改了一些代码,例如:“dog”到“newDog”,我会遇到错误或未经编辑的结果(和我一起)。 请告诉我如何在Java中生成上面的代码。 (也许只是一个主要想法) 谢谢 :)