Springbean初始化-Clojure
我有一个clojure类,我使用Springbean初始化来初始化它 我的setter方法如下 (defn-setCompanyName[货币](println(str“company:”company))) Bean初始化如下Springbean初始化-Clojure,spring,clojure,Spring,Clojure,我有一个clojure类,我使用Springbean初始化来初始化它 我的setter方法如下 (defn-setCompanyName[货币](println(str“company:”company))) Bean初始化如下 我有以下错误 bean类[test.Company]:bean属性的属性“companyName”无效 “companyName”不可写或具有无效的setter方法。做 setter的参数类型与getter的返回类型匹配吗 有人知道这个问题的根本原因吗 问候 Isu
我有以下错误
bean类[test.Company]:bean属性的属性“companyName”无效
“companyName”不可写或具有无效的setter方法。做
setter的参数类型与getter的返回类型匹配吗
有人知道这个问题的根本原因吗
问候
Isuru.这个问题有几个可能的原因,因此如果没有所有的代码,很难说什么是失败的 以下是适用于我的代码:
(ns test)
(gen-class
:main false
:name test.Company
:methods [[setCompanyName [String] void]])
(defn -setCompanyName [this company] (println (str "company : " company)))
注:
- 你不需要任何动力
- 方法的签名在:methods向量中指定
- 您的函数应该有一个附加的“this”参数
- gen class宏根据宏的参数生成一个类,因此它根本不查看-setCompanyName函数定义
javap.exe -classpath classes/ test.Company
public class test.Company extends java.lang.Object{
public static {};
public test.Company();
public java.lang.String toString();
public boolean equals(java.lang.Object);
public java.lang.Object clone();
public int hashCode();
public void setCompanyName(java.lang.String);
}
我还建议您查看上的第二个示例,了解如何管理状态。您不需要另一个函数参数吗?第一个用作“this”指针。我现在不能测试这个,因为我在打电话 你确定不需要getter吗?这个错误明确地提到了它,根据我的经验,与JavaBean相关的代码经常需要它。
javap.exe -classpath classes/ test.Company
public class test.Company extends java.lang.Object{
public static {};
public test.Company();
public java.lang.String toString();
public boolean equals(java.lang.Object);
public java.lang.Object clone();
public int hashCode();
public void setCompanyName(java.lang.String);
}