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