spring笔记之bean管理

spring的bean管理(注解)

注解

  1. 代码里面的特殊标记,使用注解可以完成功能
  2. @注解名称(属相名称=属性值)
  3. 注解可以使用在类、方法、属性

注解创建对象

  1. 在创建对象的类上使用注解实现

    1
    @Componebt(value="user")
  2. 创建对象有四个注解

    • @Controller :web层
    • @Service :业务层
    • @Repository: 持久层
  3. 创建对象是单实例还是多实例
    1
    @Scope(value="prototype")

注解注入属性

@Autowized

创建service类,创建dao类,在service得到dao类

  1. 创建service和dao对象
  2. 在service类里面定义dao类型属性

@Autowized

name属性值写注解创建dao对象value值

Aop

AOP概念

  1. 面向切面编程,扩展功能不通过修改源代码实现
  2. AOP采用横向抽取机制,取代了传统纵向继承体系重复性代码

AOP原理

AOP相关术语

  1. 连接点:类里面哪些方法可以被增强,这些方法被称为连接点
  2. 切入点:在类中可以有很多方法被增强,而实际操作中,只操作了某种方法,实际被增强的方法被称为切入点
  3. 通知/增强:增强的逻辑,称为增强,比如扩展日志功能,这个日志功能称为增强
  4. 切面:把增强应用到具体的方法上面,过程为切面,把增强应用到切入点的过程

spring的aop操作

使用表达式配置切入点

  1. 切入点:实际增强的方法
  2. 常用的表达式
    execution(<访问修饰符>?<返回类型><方法名>(<参数>)<异常>)

使用注解方式实现

  1. 创建对象
  2. 在spring配置文件中,开启aop操作
  3. 在增强的aop使用注解

spring整合web项目演示

  1. action调用service,service调用dao。问题:每次访问action的时候,都会加载spring配置文件
  2. 解决方案
    1. 在服务器启动的时候,创建对象加载spring配置文件
    2. 底层使用监听器,Servletcontext对象
  3. spring进行了封装
    1. 封装了监听器,只需要配置监听器
    2. 引入spring整合web项目jar包
    3. 加载指定spring文件位置