栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

ssm框架中注解总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ssm框架中注解总结

ssm注解总结

文章目录
  • ssm注解总结
  • 前言
  • spring框架
      • 注解1:@Component等
      • 注解2:@Configuration
      • 注解3:@ComponentScan
      • 注解4:@Scope(Bean的作用范围)
      • 注解5:@PostConstruct(Bean的生命周期)
      • 注解6:@PreDestroy(Bean的生命周期)
      • 注解7:@Autowired
      • 注解8:@Qualifier
      • 注解9:@Value
      • 注解10:@PropertySource
      • 注解11:@Bean
      • 注解12:@Import
      • 注解13:@RunWith
      • 注解14:@ContextConfiguration
      • 注解15:@EnableAspectJAutoProxy
      • 注解16:@Aspect
      • 注解17:@Pointcut
      • 注解18:@Before
      • 注解19:@After(通知类型)
      • 注解20:@AfterReturning (通知类型)
      • 注解21:@AfterThrowing (通知类型)
      • 注解22:@Around (通知类型)
      • 注解23:@EnableTransactionManagement
      • 注解24:@Transactional
  • springmvc框架
      • 注解25:@Controller
      • 注解26:@RequestMapping
      • 注解27:@ResponseBody
      • 注解28:@ComponentScan
      • 注解29:@RequestParam(普通参数传递)
      • 注解30:@EnableWebMvc
      • 注解31:@RequestBody
        • @RequestBody与@RequestParam区别
      • 注解32:@DateTimeFormat
      • 注解33:@ResponseBody
      • 注解34:@PathVariable
      • 注解35:@RestController
      • 注解36:@GetMapping @PostMapping @PutMapping @DeleteMapping
      • 注解37:@RestControllerAdvice
      • 注解38:@ExceptionHandler
  • 总结

前言

注解开发,暂时只收录了spring 框架和sprinvmvc框架。后续有待补充

spring框架
注解1:@Component等
名称@Component/@Controller/@Service/@Repository
类型类注解
位置类定义上方
作用设置该类为spring管理的bean
属性value(默认):定义bean的id

注解2:@Configuration
名称@Configuration
类型类注解
位置类定义上方
作用设置该类为spring配置类
属性value(默认):定义bean的id

注解3:@ComponentScan
名称@ComponentScan
类型类注解
位置类定义上方
作用设置spring配置类扫描路径,用于加载使用注解格式定义的bean
属性value(默认):扫描路径,此路径可以逐层向下扫描

小结:

  • 记住@Component、@Controller、@Service、@Repository这四个注解
  • applicationContext.xml中的作用是指定扫描包路径,注解为@ComponentScan
  • @Configuration标识该类为配置类,使用类替换applicationContext.xml文件
  • ClassPathXmlApplicationContext是加载XML配置文件
  • AnnotationConfigApplicationContext是加载配置类

注解4:@Scope(Bean的作用范围)
名称@Scope
类型类注解
位置类定义上方
作用设置该类创建对象的作用范围
可用于设置创建出的bean是否为单例对象
属性value(默认):定义bean作用范围,
默认值singleton(单例),可选值prototype(非单例)

注解5:@PostConstruct(Bean的生命周期)
名称@PostConstruct
类型方法注解
位置方法上
作用设置该方法为初始化方法
属性无

注解6:@PreDestroy(Bean的生命周期)
名称@PreDestroy
类型方法注解
位置方法上
作用设置该方法为销毁方法
属性无

注解7:@Autowired
名称@Autowired
类型属性注解 或 方法注解(了解) 或 方法形参注解(了解)
位置属性定义上方 或 标准set方法上方 或 类set方法上方 或 方法形参前面
作用为引用类型属性设置值
属性required:true/false,定义该属性是否允许为null

注解8:@Qualifier
名称@Qualifier
类型属性注解 或 方法注解(了解)
位置属性定义上方 或 标准set方法上方 或 类set方法上方
作用为引用类型属性指定注入的beanId
属性value(默认):设置注入的beanId

注解9:@Value
名称@Value
类型属性注解 或 方法注解(了解)
位置属性定义上方 或 标准set方法上方 或 类set方法上方
作用为 基本数据类型 或 字符串类型 属性设置值
属性value(默认):要注入的属性值

注解10:@PropertySource
名称@PropertySource
类型类注解
位置类定义上方
作用加载properties文件中的属性值
属性value(默认):设置加载的properties文件对应的文件名或文件名组成的数组

注解11:@Bean
名称@Bean
类型方法注解
位置方法定义上方
作用设置该方法的返回值作为spring管理的bean
属性value(默认):定义bean的id

注解12:@Import
名称@Import
类型类注解
位置类定义上方
作用导入配置类
属性value(默认):定义导入的配置类类名,
当配置类有多个时使用数组格式一次性导入多个配置类

注解开发总结

注解13:@RunWith
名称@RunWith
类型测试类注解
位置测试类定义上方
作用设置JUnit运行器
属性value(默认):运行所使用的运行期

注解14:@ContextConfiguration
名称@ContextConfiguration
类型测试类注解
位置测试类定义上方
作用设置JUnit加载的Spring核心配置
属性classes:核心配置类,可以使用数组的格式设定加载多个配置类
locations:配置文件,可以使用数组的格式设定加载多个配置文件名称

注解15:@EnableAspectJAutoProxy
名称@EnableAspectJAutoProxy
类型配置类注解
位置配置类定义上方
作用开启注解格式AOP功能

注解16:@Aspect
名称@Aspect
类型类注解
位置切面类定义上方
作用设置当前类为AOP切面类

注解17:@Pointcut
名称@Pointcut
类型方法注解
位置切入点方法定义上方
作用设置切入点方法
属性value(默认):切入点表达式

注解18:@Before
名称@Before
类型方法注解
位置通知方法定义上方
作用设置当前通知方法与切入点之间的绑定关系,当前通知方法在原始切入点方法前运行

注解19:@After(通知类型)
名称@After
类型方法注解
位置通知方法定义上方
作用设置当前通知方法与切入点之间的绑定关系,当前通知方法在原始切入点方法后运行
注解20:@AfterReturning (通知类型)
名称@AfterReturning
类型方法注解
位置通知方法定义上方
作用设置当前通知方法与切入点之间绑定关系,当前通知方法在原始切入点方法正常执行完毕后执行
注解21:@AfterThrowing (通知类型)
名称@AfterThrowing
类型方法注解
位置通知方法定义上方
作用设置当前通知方法与切入点之间绑定关系,当前通知方法在原始切入点方法运行抛出异常后执行
注解22:@Around (通知类型)
名称@Around
类型方法注解
位置通知方法定义上方
作用设置当前通知方法与切入点之间的绑定关系,当前通知方法在原始切入点方法前后运行

注解23:@EnableTransactionManagement
名称@EnableTransactionManagement
类型配置类注解
位置配置类定义上方
作用设置当前Spring环境中开启注解式事务支持
注解24:@Transactional
名称@Transactional
类型接口注解 类注解 方法注解
位置业务层接口上方 业务层实现类上方 业务方法上方
作用为当前业务层方法添加事务(如果设置在类或接口上方则类或接口中所有方法均添加事务)

springmvc框架
注解25:@Controller
名称@Controller
类型类注解
位置SpringMVC控制器类定义上方
作用设定SpringMVC的核心控制器bean
注解26:@RequestMapping
名称@RequestMapping
类型类注解或方法注解
位置SpringMVC控制器类或方法定义上方
作用设置当前控制器方法请求访问路径
相关属性value(默认),请求访问路径
注解27:@ResponseBody
名称@ResponseBody
类型类注解或方法注解
位置SpringMVC控制器类或方法定义上方
作用设置当前控制器方法响应内容为当前返回值,无需解析

注解28:@ComponentScan
名称@ComponentScan
类型类注解
位置类定义上方
作用设置spring配置类扫描路径,用于加载使用注解格式定义的bean
相关属性excludeFilters:排除扫描路径中加载的bean,需要指定类别(type)和具体项(classes)
includeFilters:加载指定的bean,需要指定类别(type)和具体项(classes)

注解29:@RequestParam(普通参数传递)
名称@RequestParam
类型形参注解
位置SpringMVC控制器方法形参定义前面
作用绑定请求参数与处理器方法形参间的关系
相关参数required:是否为必传参数
defaultValue:参数默认值

注解30:@EnableWebMvc
名称@EnableWebMvc
类型配置类注解
位置SpringMVC配置类定义上方
作用开启SpringMVC多项辅助功能
注解31:@RequestBody
名称@RequestBody
类型形参注解
位置SpringMVC控制器方法形参定义前面
作用将请求中请求体所包含的数据传递给请求参数,此注解一个处理器方法只能使用一次
@RequestBody与@RequestParam区别
  • 区别

    • @RequestParam用于接收url地址传参,表单传参【application/x-www-form-urlencoded】
    • @RequestBody用于接收json数据【application/json】
  • 应用

    • 后期开发中,发送json格式数据为主,@RequestBody应用较广
    • 如果发送非json格式数据,选用@RequestParam接收请求参数

    注解32:@DateTimeFormat
名称@DateTimeFormat
类型形参注解
位置SpringMVC控制器方法形参前面
作用设定日期时间型数据格式
相关属性pattern:指定日期时间格式字符串

注解33:@ResponseBody
名称@ResponseBody
类型方法类注解
位置SpringMVC控制器方法定义上方和控制类上
作用设置当前控制器返回值作为响应体,
写在类上,该类的所有方法都有该注解功能
相关属性pattern:指定日期时间格式字符串

说明:

  • 该注解可以写在类上或者方法上
  • 写在类上就是该类下的所有方法都有@ReponseBody功能
  • 当方法上有@ReponseBody注解后
    • 方法的返回值为字符串,会将其作为文本内容直接响应给前端
    • 方法的返回值为对象,会将对象转换成JSON响应给前端

此处又使用到了类型转换,内部还是通过Converter接口的实现类完成的,所以Converter除了前面所说的功能外,它还可以实现:

  • 对象转Json数据(POJO -> json)
  • 集合转Json数据(Collection -> json)

注解34:@PathVariable
名称@PathVariable
类型形参注解
位置SpringMVC控制器方法形参定义前面
作用绑定路径参数与处理器方法形参间的关系,要求路径参数名与形参名一一对应

关于接收参数,我们学过三个注解@RequestBody、@RequestParam、@PathVariable,这三个注解之间的区别和应用分别是什么?

  • 区别
    • @RequestParam用于接收url地址传参或表单传参
    • @RequestBody用于接收json数据
    • @PathVariable用于接收路径参数,使用{参数名称}描述路径参数
  • 应用
    • 后期开发中,发送请求参数超过1个时,以json格式为主,@RequestBody应用较广
    • 如果发送非json格式数据,选用@RequestParam接收请求参数
    • 采用RESTful进行开发,当参数数量较少时,例如1个,可以采用@PathVariable接收请求路径变量,通常用于传递id值

注解35:@RestController
名称@RestController
类型类注解
位置基于SpringMVC的RESTful开发控制器类定义上方
作用设置当前控制器类为RESTful风格,
等同于@Controller与@ResponseBody两个注解组合功能
注解36:@GetMapping @PostMapping @PutMapping @DeleteMapping
名称@GetMapping @PostMapping @PutMapping @DeleteMapping
类型方法注解
位置基于SpringMVC的RESTful开发控制器方法定义上方
作用设置当前控制器方法请求访问路径与请求动作,每种对应一个请求动作,
例如@GetMapping对应GET请求
相关属性value(默认):请求访问路径

注解37:@RestControllerAdvice
名称@RestControllerAdvice
类型类注解
位置Rest风格开发的控制器增强类定义上方
作用为Rest风格开发的控制器类做增强

**说明:**此注解自带@ResponseBody注解与@Component注解,具备对应的功能

注解38:@ExceptionHandler
名称@ExceptionHandler
类型方法注解
位置专用于异常处理的控制器方法上方
作用设置指定异常的处理方案,功能等同于控制器方法,
出现异常后终止原始控制器执行,并转入当前方法执行

**说明:**此类方法可以根据处理的异常不同,制作多个方法分别处理对应的异常

总结

熟能生巧。多写代码。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/991816.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号