有个接口叫UserManager,它的实现类是UserManagerImpl。
配置文件中配置<bean id="userManager" class="com.Login.UserManagerImpl"/>。并且没有在配置文件中配置强制使用CGLIB。
但是我想问的是为什么在客户端运行时代码写成:
UserManager userManager = (UserManager)beanFactory.getBean("userManager");就能正常运行。
但是写成
UserManagerImpl userManager = (UserManagerImpl)beanFactory.getBean("userManager");
或者写成
UserManager userManager = (UserManagerImpl)beanFactory.getBean("userManager");就是运行出错呢。
我已经实现UserManager这个接口了,就是没拿它创建对象为什么运行就出错了呢?
不是只要类实现了接口Spring就会自动用jdk的动态代理生成代理类吗?我实现了啊!!!
配置文件中配置<bean id="userManager" class="com.Login.UserManagerImpl"/>。并且没有在配置文件中配置强制使用CGLIB。
但是我想问的是为什么在客户端运行时代码写成:
UserManager userManager = (UserManager)beanFactory.getBean("userManager");就能正常运行。
但是写成
UserManagerImpl userManager = (UserManagerImpl)beanFactory.getBean("userManager");
或者写成
UserManager userManager = (UserManagerImpl)beanFactory.getBean("userManager");就是运行出错呢。
我已经实现UserManager这个接口了,就是没拿它创建对象为什么运行就出错了呢?
不是只要类实现了接口Spring就会自动用jdk的动态代理生成代理类吗?我实现了啊!!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货