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

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

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

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

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

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

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

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

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

3.注入不同类型

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

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

3.注入集合类型属性

对于list或数组使用<list>标签

对于map类型有<map>标签其下还有其子标签<entry><key><value>

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

5.注入null和空字符串

<value></value>注入空字符串,<null/>注入null值。

3.使用注解

@Component("user")的作用和

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

等效。

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

@repository:用于标注DAO类

@Service:用于标注业务类

@controller:用于标注控制器类

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

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

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

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

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

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

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

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

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

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

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

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

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

相关文章:

  • 2021-06-01
  • 2021-07-04
  • 2021-09-23
  • 2021-12-05
  • 2021-11-01
  • 2021-08-14
  • 2021-08-17
  • 2021-08-19
猜你喜欢
  • 2021-07-28
  • 2022-03-08
  • 2021-09-21
  • 2022-12-23
  • 2021-11-23
  • 2021-09-13
  • 2022-12-23
相关资源
相似解决方案