日期:2014-05-17  浏览次数:20713 次

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;

@Aspect
public 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
------解决方案--------------------