摘要:
Aspectj 概念: 1. joinpoint:切入点, 比如@Before, @After, @Around 2. Pointcut:切入点集合, 比如 @Pointcut("execution(public * com.bjsxt.service..*.*(..))") public void 阅读全文
摘要:
AOP: 面向切面编程. 通过动态代理实现. AOP就3条线, 2条线给剪断. 实现:动态代理 如果实现interface的话, 用Proxy, InvocationHandler. 不实现interface的话, 用cglib操作二进制码实现. AOP用在哪里: 性能, 日志, 权限检查, tra 阅读全文
摘要:
beans.xml: UserServiceTest.java: UserService.java: UserDAOImpl.java: 阅读全文
摘要:
1. 默认按类型 by type, 如果想用byname, 使用@Qualifier 2. 如果写在set上, @qualifier需要写在参数上 bean.xml: 默认bytype去找set方法, 注入 在set方法上加入@AutoWired: 如果bytype找到2个bean , 参考下面的x 阅读全文
摘要:
bean.xml: 注意, 千万不要后面加上 scope="prototype" UserService.java: UserServiceTest.java: 结果init, init 去掉scope="prototype", 结果就是init, destroy 阅读全文
摘要:
UserDAOImpl.java: bean.xml: UserServiceTest.java: 结果: 阅读全文
摘要:
singleton, prototype,request, session, global session bean.xml: UserServiceTest.java: 结果:false xml改成singleton结果就是true 阅读全文
摘要:
UserDAOImpl.java: bean.xml: 常用方法: 阅读全文
摘要:
UserDAOImpl.java: UserService.java: UserServiceTest.java: bean.xml: 结果: daoId=1 bean.xml改成如下: 结果: daoId=2 阅读全文
摘要:
bean, id/name 都可以 阅读全文
摘要:
setter注入: bean.xml: 构造方法注入: 修改UserService.java, 加入构造函数: bean.xml: 阅读全文
摘要:
1. 新建项目, 引入spring包(sping, common-annotation, common-logging包), 还有junit包. user.java: UserDAO.java: UserDAOImpl.java: UserService.java: 依赖注入bean.xml: 阅读全文