部署代碼的時候,由於自身技術不精和疏忽,導致查詢數據沒有正常顯示,
排除法最后只能是放置部署文件時未包括多出來的$class文件。放上去之后果然好使了,才記錄下這個問題。。。
這是因為在我們寫的類中存在匿名類
對於接口和抽象類來說, 不能被實例化。
例子:
SysUserBean sysUserBean = this.jdbcTemplate.queryForObject(sql,
new Object[]{loginName,password},
new RowMapper<SysUserBean>(){
public SysUserBean mapRow(ResultSet rs, int rowNum) throws SQLException {
SysUserBean sysUserBean = new SysUserBean();
sysUserBean.setUserId(rs.getInt("User_Id"));
sysUserBean.setCreateUserId(rs.getInt("Create_User_Id"));
sysUserBean.setCreateTime(rs.getTimestamp("Create_Time"));
return sysUserBean;
}
});
當一個類文件編譯之后有很多類名字中有$符, 比如Test.class, Test$1.class, Test$2.class, Test$MyTest.class
$后面跟數字的類就是匿名類編譯出來的結果.Test$MyTest.class則是內部類MyTest編譯后得到的。
在類SysUserDaoImpl中的getLoginUser方法出現new RowMapper<SysUserBean>()類似的情況,
我們在編譯類文件SysUserDaoImpl的時候,就會出現$1.class,$2.class的情況