spring中的新注解:
这是来代替bean.xml的
* Configuration
* 作用:指定当前类是一个配置类
* 细节:当配置类作为annotationConfigurationContext对象创建的参数时,该注解可以不写
* ComponentScan
* 作用:用于通过指定注解指定spring在创建容器时要扫描的包
* 属性:
* value:它和basePackages的作用是一样的,都是用于指定创建容器时要扫描的包
* 我们使用此注解就等于在xml中配置了<context:component-scan base-package="com.itheima"></context:component-scan>
* bean
* 作用::用于把当前方法的返回值作为bean对象存入spring的ioc容器中
* 属性:
* name:用于指定bean的id。当不写时,默认值是当前方法的名称
* 细节:当我们使用注解配置方法时,如果方法有参数,spring框架会去容器中查找有没有可用的bean对象,
* 查找的方式和AutoWired的作用一样,
* import
* 作用:用于导入其他的配置类
2、使用Proxy.newProxyInstance()代理时,报错Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to com.itheima.proxy.IProducer
Proxy.newProxyInstance做动态代理时,只能是代理接口和实现类,不能代理抽象类和实现类,不然就会报转换异常错误
代理的接口,实现接口类的方法一定记得implements