Loading

注解

标签

配置

标签 说明
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对象
      1. 如果找到一个,直接注入
      1. 如果找到多个,则以变量名为id,查找bean对象并注入
        1. 如果找不到,抛异常
  • @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注解中,指定一个请求参数的各个方面的属性
posted @ 2021-12-18 21:52  HelloCCL  阅读(53)  评论(0)    收藏  举报