注解
标签
配置
| 标签 | 说明 |
|---|---|
context:component-scan |
在applicationContext.xml里面打开扫描的开关 |
通知的类型
| 名称 | 标签 | 说明 |
|---|---|---|
| 前置通知 | <aop:before> |
通知方法在切入点方法之前执行 |
| 后置通知 | <aop:after-returning> |
在切入点方法正常执行之后,执行通知方法 |
| 异常通知 | <aop:after-throwing> |
在切入点方法抛出异常时,执行通知方法 |
| 最终通知 | <aop:after> |
无论切入点方法是否有异常,最终都执行通知方法 |
| 环绕通知 | <aop:around> |
通知方法在切入点方法之前、之后都执行 |
Spring注解
声明bean的注解【IOC】
| 注解 | 说明 |
|---|---|
@Component |
用在类上,相当于bean标签 |
@Controller |
用在web层类上,配置一个bean(是@Component的衍生注解) |
@Service |
用在service层类上,配置一个bean(是@Component的衍生注解) |
@Repository |
用在dao层类上,配置一个bean(是@Component的衍生注解) |
@Component:类级别的一个注解,用于声明一个bean,使用不多value属性:bean的唯一标识 (id值)。如果不配置,默认以首字母小写的类名为id
@Controller, @Service, @Repository,作用和@Component完全一样,但更加的语义化,使用更多@Controller:用于web层的bean@Service:用于Service层的bean@Repository:用于dao层的bean
配置bean的注解 【IOC】
| 注解 | 说明 |
|---|---|
@Scope |
相当于bean标签的scope属性 |
@PostConstruct |
相当于bean标签的init-method属性 |
@PreDestroy |
相当于bean标签的destory-method属性 |
配置bean的作用范围:
-
@Scope:配置bean的作用范围,相当于bean标签的scope属性。加在bean对象上 -
@Scope的常用值有: -
singleton:单例的,容器中只有一个该bean对象- 何时创建:容器初始化时
- 何时销毁:容器关闭时
-
prototype:多例的,每次获取该bean时,都会创建一个bean对象- 何时创建:获取bean对象时
- 何时销毁:长时间不使用,垃圾回收
依赖注入的注解【DI】
| 注解 | 说明 |
|---|---|
@Autowired |
相当于property标签的ref 注入对象 |
@Qualifier |
结合@Autowired使用,用于根据名称(标识符)注入依赖 |
@Resource |
相当于@Autowired + @Qualifier |
@Value |
相当于property标签的value ,注入普通 的属性 |
注入bean对象
@Autowired:用于byType(按照类型来找对象)注入bean对象,按照依赖(属性)的类型,从Spring容器中查找要注入的bean对象-
- 如果找到一个,直接注入
-
- 如果找到多个,则以变量名为id,查找bean对象并注入
- 如果找不到,抛异常
- 如果找到多个,则以变量名为id,查找bean对象并注入
-
@Qualifier:是按id注入,但需要和@Autowired配合使用。@Resource:(是jdk提供的)用于注入bean对象(byName注入),相当于@Autowired + @Qualifier
纯注解开发
| 注解 | 说明 |
|---|---|
@Configuration |
被此注解标记的类,是配置类 等同于applicationContext.xml |
@ComponentScan |
用在配置类上,开启注解扫描。使用basePackage属性指定扫描的包 |
@PropertySource |
用在配置类上,加载properties文件。使用value属性指定properties文件路径 |
@Import |
用在配置类上,引入子配置类。用value属性指定子配置类的Class |
@Bean |
用在配置类的方法上,把返回值声明为一个bean。用name/value属性指定bean的id |
Junit注解
| 注解 | 说明 |
|---|---|
@RunWith |
用在测试类上,用于声明不再使用Junit,而是使用Spring提供的运行环境 |
@ContextConfiguration |
用在测试类上,用于指定Spring配置类、或者Spring的配置文件 |
AOP
| 名称 | 注解 | 说明 |
|---|---|---|
| 声明切面 | @Aspect |
设置当前类为增强/切面类 |
| 核心配置 | @EnableAspectJAutoProxy |
来允许AOP的自动配置,搭载核心配置类上 |
| 前置通知 | @Before |
通知方法在切入点方法之前执行 |
| 后置通知 | @AfterRuturning |
通知方法在切入点方法之后执行 |
| 异常通知 | @AfterThrowing |
通知方法在抛出异常时执行 |
| 最终通知 | @After |
通知方法无论是否有异常,最终都执行 |
| 环绕通知 | @Around |
通知方法在切入点方法之前、之后都执行 |
事务
| 注解 | 说明 |
|---|---|
@Transactional |
声明当前类中的所有方法都用事务 |
@EnableTransactionManagement |
开启事务驱动,被注解@Transactional会生效 |
SpringMVC
Http
| 注解 | 说明 |
|---|---|
@RequestMapping |
打在类或者方法上,映射url |
@EnableTransactionManagement |
开启事务驱动,被注解@Transactional会生效 |
@RequestParam |
对浏览器请求参数做要求(GET) |
@RequestBody |
打在参数前面,获取请求体内容(POST) |
@PathVariable |
用于截取请求地址(url)里面的某些部分的数据。 |
@RequestHeader |
获取指定名字的请求头数据,赋值给方法参数 |
@CookieValue |
用于把指定 cookie 名称的值传入控制器方法参数。 |
@ResponseBody |
把返回内容直接交给页面,可以是json |
@RestController |
@ResponseBody + @Controller 的结合体 |
@Post.. @Put.. @Delete.. @GetMapping |
打在方法上,用于一个url的不同请求方式给与不同resp |
SpringBoot
| 注解 | 说明 |
|---|---|
@SpringBootApplication |
启动类 |
@SpringBootTest |
测试类对启动类做绑定,启动类相对应包内可以空参,否则给启动类.class的参数 |
Swagger
| 注解 | 位置 | 说明 |
|---|---|---|
| @Api | 类 | 加载Controller类上,表示对类的说明 |
| @ApiModel | 类(通常是实体类) | 描述实体类的作用 |
| @ApiModelProperty | 属性 | 描述实体类的属性 |
| @ApiOperation | 方法 | 说明方法的用途、作用 |
| @ApiImplicitParams | 方法 | 表示一组参数说明 |
| @ApiImplicitParam | 方法 | 用在@ApiImplicitParams注解中,指定一个请求参数的各个方面的属性 |

浙公网安备 33010602011771号