Spring(2)

复习:
1.Spring介绍
spring并不局限于某一层
spring是对象的容器,帮我们管理项目中的所有对象
2.spring搭建
1>导包4+2+1
2>准备类
3>书写配置
4>书写代码测试
3.spring中的概念
ioc:反转控制.创建对象的方式反转了,从我们自己创建对象,反转给spring来创建
di:依赖注入,将必须的属性注入到对象中.是实现ioc思想必须条件.

beanFactory与ApplicationContext
4.配置文件详解
(1)bean元素
id:给bean起个名字 不能重复,不能使用特殊字符,早期属性
name:给bean起个名字 能重复,能使用特殊字符,后来属性
class:类的完整类名
(2)生命周期属性
init_method 指出初始化方法
destory-method指出销毁方法
(3)作用范围属性
scope属性:
singleton(默认值):单例,创建容器时会立即创建单例对象
prototype:多例,每次获取对象时,才会创建对象,并且每次都会创建新的对象
(4)分模块开发 import
5.bean的创建方式
*空参构造创建
静态工厂
实例工厂
6.注入方式
*set方法
*构造方法
p名称空间
spel表达式
7.复杂属性注入
array
list
map
properties
8.在web环境中使用spring容器
1>导包 4+2+1(spring_web)
2>在web.xml中配置listener =>ContextLoaderListener
|-配置参数,指定spring配置路径
3>在action中,使用工具类获得容器
|-WebApplicationContextUtils.getWebApplicationContext(servletcontext sc)


Spring-day02

1.使用注解配置spring

(注解代替配置文件)
步骤

  • 导包4+2+spring-aop
  • 需要为主配置文件引入新的命名空间(约束)
  • 开启使用注解代替配置文件
    在这里插入图片描述
  • 在类中使用注解完成配置
    将对象注册到容器
    在这里插入图片描述修改对象的作用范围
    在这里插入图片描述值类型注入

通过反射的field赋值(破坏了类的封装性,不推荐)
在这里插入图片描述通过set方法赋值(推荐使用)
在这里插入图片描述引用类型注入(推荐使用@Resource)
在这里插入图片描述初始化|销毁方法
在这里插入图片描述

2.STS插件
  • 1.手动安装插件(成功率较低)
    在这里插入图片描述
  • 2.使用老师的eclipse
    在这里插入图片描述
  • 3.spring装好安装插件的eclipse
    在这里插入图片描述
3.spring与junit整合测试
  • 1.导包(4+2+aop+test)
  • 2.配置注解

在这里插入图片描述

  • 3.测试
2.spring中的aop

AOP思想
横向重复,纵向抽取
在这里插入图片描述在这里插入图片描述在这里插入图片描述spring中的aop
Spring能够为容器中管理的对象生成动态代理对象

以前我们需要自己调用下面这个方法,Proxy.newProxyInstance(xx,xx,xx)生成代理对象

spring能帮我们生成代理对象

spring实现aop的原理

  • 1.动态代理(代理对象和被代理对象实现同一个接口)
    |-被代理对象必须要实现接口,才能产生代理对象.如果没有接口就不能使用动态代理技术
  • 2.cglib代理(对目标对象进行继承代理)
    |-第三方代理技术,cglib代理,可以对任何类生成代理,代理的原理是对目标对象进行继承代理.如果目标对象被final修饰,那么该类无法被cglib代理

在这里插入图片描述在这里插入图片描述Joinpoint(连接点):目标对象中,所有可以增强的方法
Pointcut(切入点):目标对象中,准备增强的方法
Advice(通知/增强):增强的代码
Target(目标对象):被代理对象
Weaving(织入):将通知应用到切入点的过程
Proxy(代理):将通知织入到目标对象形成代理
aspect(切面):切入点+通知

Spring中的aop演示:

步骤:(xml配置)
  • 1.导包(4+2+2+2)

在这里插入图片描述
前两个是spring的aop包,后两个是spring需要第三方aop包

  • 2.准备目标对象
    在这里插入图片描述
  • 3.准备通知
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 4.配置进行织入,将通知织入目标对象中
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

AOP面向切面编程思想(过滤器,拦截器,动态代理)
横向重复代码,纵向抽取

动态代理(对目标对象中的方法进行增强)
通过动态代理可以体现aop思想

spring中aop开发
spring封装了动态代理代码,我们就不需要手动写动态代理代码
还封装了cglib代理
Spring可以对任何类进行代理增强

Spring中的名词:
在这里插入图片描述

步骤:(注解配置)
  • 1.导包(4+2+2+2)
  • 2.准备目标对象
  • 3.准备通知在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述注解方法写切入点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值