AOP五种增强方式
简介
目录 | 说明 | 使用 |
前置增强 | 在目标方法前织入增强处理 | before |
后置增强 | 在目标方法之后正常执行,执行通知,若是报错,不执行 | after-returning |
最终増强 | 在目标方法执行之后,只有在方法成功完成时,才能执行通知。 | after |
异常增强 | 在一个方法执行之后,只有在方法退出抛出异常时,才能执行通知 | after-throwing |
环绕增强 | 在一个方法执行之前,执行通知 | around |
注意:当目标方法出错时,后置增强不执行,最终增强会执行;有异常执行异常增强,不报错执行后置增强
P命名空间注入
p 命名空间是 setter 方式属性注入的一种快捷实现方式。通过它,我们能够以 bean 属性的形式实现 setter 方式的属性注入,而不再使用嵌套的 元素,以实现简化 Spring 的 XML 配置的目的。
首先我们需要在配置文件的 元素中导入以下 XML 约束。
xmlns:p=“http://www.springframework.org/schema/p”
在导入 XML 约束后,我们就能通过以下形式实现属性注入。
<bean id=“唯一标识” class=“类的全路径”
p:“属性1”=“注入的值” p:“属性2”=“注入的值” />
<bean id=“唯一标识” class=“类的全路径”
p:属性-ref=“注入的Bean” />
使用 p 命名空间注入依赖时,必须注意以下 3 点:
Java 类中必须有 setter 方法;
Java 类中必须有无参构造器(类中不包含任何带参构造函数的情况,无参构造函数默认存在);
在使用 p 命名空间实现属性注入前,XML 配置的 元素内必须先导入 p 命名空间的 XML 约束。
不同数据类型注入
简介
标签 | 说明 |
<list> | 用于注入 list 类型的值,允许重复 |
<set> | 用于注入 set 类型的值,不允许重复 |
<map> | 用于注入 key-value 的集合,其中 key-value 可以是任意类型 |
<props> | 用于注入 key-value 的集合,其中 key-value 都是字符串类型 |
使用注解实现Spring Ioc
常用的注解Ioc
@Component 将类标记为组件,表示它需要由Spring容器进行管理。
@Autowired
自动装配依赖,将相关的依赖注入到标记了该注解的字段、构造方法或者Setter方法中。
@Qualifier 与@Autowired一起使用,指定具体的依赖Bean。
@Value 将配置值注入到属性中。
@Configuration 将类标记为配置类,用于定义Bean的创建和依赖关系。
@Bean 在配置类中使用该注解来声明一个Bean,并提供其创建和初始化的逻辑。
@Repository 用于标注DAO类
@Service 用于标注业务类
@Controller 用于标注控制器类