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