用过很多次切面aspect了,对于表达式总是记得很模糊,今天总结一下. 1.切面做如下设置则只会拦截返回值为String类型的方法 @Aspect public class MyInterceptor { @Pointcut("execution(java.lang.String cn.xjy.service.impl.PersonServiceBean.*(..))") private void anyMethod() { }// 声明一个切入点 @Override public S…
定义切入点 在前文(点击查看)中使用到的AdviceTest类中同一个切点(即* com.abc.service.*.advice*(..)匹配的连接点)却重复定义了多次,这显然不符合软件设计的原则,为了解决这个问题,AspectJ和spring都提供了切入点的定义.所谓定义切入点,其实质就是为一个切入点表达式起一个名称,从而允许在多个增强处理中重用该名称. Spring AOP只支持以Spring Bean的方法执行组作为连接点,所以可以把切入点看作所有能和切入表达式匹配的Bean方法.切入点…
在工作中碰到了好多的配置文件,具体来说是spring 中bean配置的parent的配置,搞的我一头雾水,仔细看一下spring中有关bean的配置,剖析一下,具体什么含义! 一.Spring IoC容器和beans的介绍 1.Spring框架实现控制反转(IoC)的原理.IoC又叫依赖注入(DI).它描述了对象的定义和依赖的一个过程,也就是说,依赖的对象通过构造参数.工 厂方法参数或者属性注入,当对象实例化后依赖的对象才被创建,当创建bean后容 器注入这些依赖对象.这个过程基本上是反向的,因…
观察者模式可以说是众多设计模式中,最容易理解的设计模式之一了,观察者模式在Spring中也随处可见,面试的时候,面试官可能会问,嘿,你既然读过Spring源码,那你说说Spring中运用的设计模式吧,你可以自信的告诉他,Spring中的ApplicationListener就运用了观察者模式. 让我们一步一步来,首先我们要知道到底什么是观察者模式,用Java是如何实现的,在这里,我将会用三种方式来实现观察者模式. 什么是观察者模式 在现实生活中,观察者模式处处可见,比如 看新闻,只要新闻开始播放…
1.IOC注解 1.1 IOC和DI的注解  IOC: @Component:实现Bean组件的定义 @Repository:用于标注DAO类,功能与@Component作用相当 @Service:用于标注业务类 @Controller:用于标注控制器 DI: @Resource(name="userService")默认ByName方式,如果name确实默认按照ByType方式注入 @Autowired,默认ByType方式,如果出现同名类,则不能按照Type进行注入,需要使用@Qu…
1.所属jar包不同,Autowired是Spring中的Resource是JSR-250规范定义的注解…
1 使用配置文件的方法来完成自动装配我们编写spring 框架的代码时候.一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量.并且要配套写上 get 和 set方法.比如:Boss 拥有 Office 和 Car 类型的两个属性:public class Boss { private Car car; private Office office; // 省略 get/setter @Override public String toString() { retu…
spring 中bean 一.bean的定义和应用 1. bean 形象上类似于getXX()和setXX()的一种. 2. 由于java是面向对象的,类的方法和属性在使用中需要实例化. 3. 规律:凡是子类及带有方法或者属性的类都要加上注册bean. 4. bean类似于类的代理人. 5. 带有@的字符,spring都会自动扫描一下,看一下是啥. 二. 注解 1. xml配置文件中自带的bean.@autowired @resource,在spring中通过byType和ByName来使用 2…
1.创建Bean的3种方式 1.1使用构造器创建bean实例 这是最常见的方式,如果不采用构造注入,bean类需要有默认构造函数.如果采用构造注入,则需要配置xml文件的<constructor-arg> 1.2使用静态工厂方法创建bean 最典型的工厂方法如 package spi; public class PersonFactory { public static Person getPerson(String arg) { if (arg.equalsIgnoreCase("…
设计模式学习(二十四):Spring 中使用到的设计模式 作者:Grey 原文地址: 博客园:设计模式学习(二十四):Spring 中使用到的设计模式 CSDN:设计模式学习(二十四):Spring 中使用到的设计模式 观察者模式 定义一个继承 ApplicationEvent 的事件:定义一个实现了 ApplicationListener 的监听器:定义一个发送者 DemoPublisher ,发送者调用 ApplicationContext 来发送事件消息. 模板方法 适配器模式 Sprin…