Spring初步了解-IOC和AOP的使用扩展

上一次讲到了Spring通过setter访问器实现了对属性的赋值,这种方法叫设值注入,spring还提供了构造注入。

1.举个列子就是当属性的类型是某个类的时候,以构造注入的方式使用,这个元素表示构造方法的一个参数,

使用时不区分顺序,为了区分可以使用index属性指定索引,位置从0开始。使用type指定参数类型,避免字符串和基本数据类型混淆。构造注入时效性好,但是不够灵活。

Spring初步了解-IOC和AOP的使用扩展_第1张图片


设置注入时效性不好,但是比较灵活,这两种方式根据自身情况来选择。

2.p命名空间实现属性注入,他的特点是使用bean的属性,而不是子元素的形式配置bean,简化了bean的配置。


其中还有p:属性名-ref=“bean的id”

3.注入不同类型

1.注入直接量除了使用属性还可以使用子元素

2.引用其他bean组件使用子元素

3.注入集合类型属性

对于list或数组使用标签

对于map类型有标签其下还有其子标签

对于properties类型属性使用,它的键值通常都是字符串类型。

5.注入null和空字符串

注入空字符串,注入null值。

3.使用注解

@Component("user")的作用和


等效。

出了它spring还提供了3个特殊的注解:

@repository:用于标注DAO类

@Service:用于标注业务类

@controller:用于标注控制器类

4.使用注解实现bean组件装配

Spring初步了解-IOC和AOP的使用扩展_第2张图片

resource 和 autowired的作用是一样的,resource根据字段名进行注入。

然后就是这样定义好bean之后开始使用注解配置信息启动spring容器,


使用它进行扫包,多个包用逗号隔开,spring会扫描这些包中的类。

AspectJ是一个面向切面框架,他扩展了java语言,定义了aop语法,能够在编译器提供代码的织入。

spring通过集成AspectJ实现了注解方式定义切面。

使用注解来配置切面,使用注解切实现日志切面为列子:

Spring初步了解-IOC和AOP的使用扩展_第3张图片

使用@aspectJ定义切面。再在配置文件中启动注解支持


这些就是一些初步的IOC和AOP的扩展使用。

你可能感兴趣的:(Spring初步了解-IOC和AOP的使用扩展)