注解方式 如下:
开启组件扫描--》
结果同上。
如果设置值:
新建service 注入dao 进行测试 注入Dao。
但要注意 autowired是按照类型注入的 不管dao的名字是啥 哪怕是userDao22222 只要它实现了userDao接口 那么就可以直接注入userDao。
要想按名称注入 就要用Qualifier一起使用 如上图 这时名字就必须一致(userDao22222) ,也可以直接使用Resource注解。
下面举例:整合开发:
还要关闭包扫描(因为类都交给xml管理了) 同时开启注解:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------》》
AOP:
测试:
上方类实现了接口 就可以使用jdk动态代理了;
不实现接口的类 要用Cglib:
整合单元测试:
编写切面类 增强save方法:
结果:
后置通知可以接收返回值:
环绕通知可以组织目标方法的执行:
异常抛出通知可以打印异常信息: