Javaee期末复习【上】(个人总结,望指正)

AOP

Aop的概念

面向切面编程,通过程序运行时的动态代理实现程序功能的统一维护的一种技术。

在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。

有了AOP,我们就可以把几个类共有的代码,抽取到一个切片中,等到需要时再切入对象中去,从而改变其原有的行为。

Aop的专业术语:

1)连接点(Joinpoint)

一个类中的哪些方法可以被增强,那这些方法就称为连接点(可以被增强的方法称为连接点)比如上面的 add()、update()、select()、delete()都可以成为连接点

2)切入点(Pointcut)

实际上被增强的方法称为切入点,比如说只增强了add(),那么add()就可以称为切入点

3)增强/通知(Advice)

实际增强的逻辑部分称为通知(增强),比如说要给add()加一个日志功能,那这个日志功能就可以称为通知(增强)

4)切面(Aspect)

是一个动作,指的是把通知应用到切入点的过程

AspectJ注解

<!-- 设置使用注解的类所在的包 -->
<context:component-scan base-package="com.wlh.*"/>
<!--启用ApsectJ注解开发-->
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>

@Aspect 定义切面类
@Componet 将这个类加入Spring的IOC容器;
@Order(1) 指定切面的优先级,数值越小优先级越高

@Before 前置通知,在方法执行之前执行
@After 后置通知,在方法执行之后执行
@AfterRunning 返回通知,在方法返回结果之后执行
@AfterThrowing 异常通知,在方法抛出异常之后执行
@Around 环绕通知,围绕着方法执行

Spring

Spring基础包(了解)

spring-core:Core模块主要包含Spring框架基本的核心工具类,Spring的其他组件要都要使用到这个包里的类,Core模块是其他组件的基本核心
spring-beans:包含访问配置文件、创建和管理bean以及进行IOC/DI操作相关的所有类
spring-context:Spring的上下文即IOC容器,通过上下文可以获得容器中的Bean
spring-expression:EL表达式语言用于在运行时查询和操纵对象

Spring注解开发

开启注解开发XML配置

<!--开启注解开发-->
<context:annotation-config>
<!--配置注解开发扫描包-->
<context:component-scan base-package="com.wlh">

Spring基本注解

@Autowired

@Autowired:自动装配,其作用是为了消除代码Java代码里面的getter/setter与bean属性中的property。默认按类型匹配的方式,在容器查找匹配的Bean,当有且仅有一个匹配的Bean时,Spring将其注入@Autowired标注的变量中。

@Component注解

相当于将对象存放到spring容器中。

其中@Component有三个子注解:

@Controller用于标注控制层组件,web层。

@Service用于标注业务层,service层。

@Repository用于标注数据访问组件,dao层。

@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。

Bean的常用属性

1)id 属性:Bean 的唯一标识名,必须以字母开头,且不能

包含特殊字符

2)class 属性:用来定义类的全限定名(包名+类名)

3)name 属性:用来为 Bean 指定一个 或 多个别名,且能

包含特殊字符。如果 Bean 没有 id,name 可当做 id 使用

4)scope 属性,其属性值如下:

(1)singleton:默认值,单例

(2)prototype:多例

IOC概念

控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。IOC最常见的方法是依赖注入

所谓依赖注入,举个例子说明,一个类Person,另一个类Car,如果Person的某个方法比如说drive,需要引用Car,则称Person类依赖于 Car类,延伸到对象,这种依赖关系依然成立,比如说Person类的对象boy依赖于Car类的对象toyota。再讲讲这个drive方法的实现,假定代码如下:

Public Person{
...
public void drive(){
  Car toyota=new Car("TOYOTA");
  toyota.挂档;
  toyota.踩油门;
  toyota.打方向;
}
}

控制反转简而言之是Spring帮助用户自动创建当前需要的对象,而不需要用户去new一个对象,这就实现了控制权的反转

Springmvc

Springmvc流程

1.用户发送请求至dispatcherservlet。

2.dispatcherservler调用handlermapping。
3.handlermapping找到具体的handler,生成处理器对象和处理器拦截器返回dispatcherservle(handler通过xml配置或注解配置)
4.调用handleradapter处理器适配器
5.handleradapter调用具体的处理器,controller,controller调用service
6.controller调用完后返回modelandview
7.handleradapter将modelandview返回给前段控制器
8.前端控制器调用视图解析器处理modelandview
9.视图解析器返回具体的view
10.前段控制器根据view进行渲染
11.前端控制器响应用户

 

  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值