-
组件扫描与自动装配的区别
前者创建Bean(@Conponent),后者创建Bean之间的依赖(@AutoWired) -
装配方式
自动化装配:首先需要配置Spring对哪些包进行扫描注解,可以用@ConponentScan或者<context:component-scan>,不直接说明那些Bean之间的依赖,只是用@Conponent创建Bean,@AutoWired说明需要自动装配,然后Spring会根据类型等自动创建依赖。
通过Java代码装配:首先要创建一个带有@Configuration注解的类,如何在这个类中进行装配。@Bean创建Bean,用在方法上,将返回值作为一个Bean;在Java类的方法中可以用代码进行装配。
通过XML装配Bean:... -
AOP术语介绍
最主要的概念:切面=切点+通知
切点:切面代码切入服务代码的地方
通知:切面代码
Spring学习主要就是学怎么配置这两个东西,通知一般用java代码编写即可,切点可以用注解,XML,AspectJ切点表达式等配置。 -
Spring的4种类型的AOP支持(P105)
- 基于代理的经典Spring AOP;
- 纯POJO切面
- @AspectJ注解驱动的切面
- 注入式AspectJ切面
- 控制器接受请求的输入的方式(P153)
- 请求参数(/spittles/show?spittle_id=12345)
使用@RequestParam - 路径参数(/spittles/12345)
使用@PathVariable - 表单参数(Post 表单)
不用注解, 表单的键值对会注入到参数的属性中去
三个参数都是输入到控制器的参数,参数分别用上述的注解进行注释。
-
转发和重定向的区别(P220)
转发(forward):就好像在机构的不同部门内部进行周转,是服务器的行为,是同一个请求,转发的过程模型数据还是存在的。
重定向(redirect):你提交一个请求,然后服务器发送一个重定向的响应回来,你的服务器重新进行新的请求。这里面是两个请求,模型数据会丢失。 -
重定向转发数据的方式
前面说过重定向的时候模型数据会丢失,那么如果我们要保留数据怎么办呢?
- 路径参数or请求参数(P220)
- 存放在会话中
- flash属性——RedirectAttributes
第三种实际上是Spring帮助我们放在会话中,重定向之后flash属性会被删除。
网友评论