当前位置: 代码迷 >> Java Web开发 >> Spring入门简单的一个小例子,不明白?来者有分解决思路
  详细解决方案

Spring入门简单的一个小例子,不明白?来者有分解决思路

热度:34   发布时间:2016-04-17 11:11:15.0
Spring入门简单的一个小例子,不明白??来者有分
代码

一个接口
Java code
package com.aa.spring;public interface UserManager {    public void addUser(String username, String password);    public void deleteUser(int id);    public void modifyUser(int id, String username, String password);    public String findUserById(int id);}


接口的实现

Java code
package com.aa.spring;public class UserManagerImpl implements UserManager {    public void addUser(String username, String password) {        System.out.println("------UserManagerImpl.addUser---------");    }    public void deleteUser(int id) {        System.out.println("------UserManagerImpl.deleteUser---------");    }    public String findUserById(int id) {        System.out.println("------UserManagerImpl.findUserById---------");        return null;    }    public void modifyUser(int id, String username, String password) {        System.out.println("------UserManagerImpl.modifyUser---------");    }}

Aspect定义
Java code
package com.aa.spring;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Before;import org.aspectj.lang.annotation.Pointcut;@Aspectpublic class Hanlder {    @Pointcut("execution(* add*(..))")    private void allMethod() {    };    @Before("allMethod()")    private void check() {        System.out.println("-------check------");    }}


------解决方案--------------------
不知道。只能帮顶。。。
------解决方案--------------------
应该是可以的吧,关注中···
------解决方案--------------------
up
------解决方案--------------------
up
------解决方案--------------------
你的接口和实现是否有差别,实现的多了几个方法?
类型不一致?
------解决方案--------------------
UserManager u = (UserManager) factory.getBean("UserManagerImpl"); 
UserManagerImpl u = (UserManagerImpl) factory.getBean("UserManagerImpl"); 


java.lang.ClassCastException

类转型错误 这个UserManager 是接口
这个 UserManagerImpl 是实现 
factory.getBean()调用的是接口的
------解决方案--------------------
up

------解决方案--------------------
探讨
UserManager u = (UserManager) factory.getBean("UserManagerImpl");
UserManagerImpl u = (UserManagerImpl) factory.getBean("UserManagerImpl");


java.lang.ClassCastException

类转型错误 这个UserManager  是接口
这个 UserManagerImpl  是实现
factory.getBean()调用的是接口的

------解决方案--------------------
还真是不太懂。。。
------解决方案--------------------
这就是spring,建议你看一下设计模式的工厂模式就知道原因了。
------解决方案--------------------
spring 是对接口编程,所有的get返回的是接口的实例,所以是接口UserManager
------解决方案--------------------
  相关解决方案