spring阶段注解汇总

spring阶段注解汇总

spring-IOC

@Component

  • @Controller响应层
  • @Service业务层
  • @Repository持久层

@Scope

  • scope="singleton/prototype"

    • 单例多例

@PostConstruct

  • init-method

    • 初始化方法

@PreDestroy

  • destroy-method

    • 销毁方法

spring-DI

@Autowired

  • ref="类型"

    • 默认按照bean的类型注入数据

@Qualifier

  • ref="类型"

    • 默认按照bean的类型注入数据

@Resource

  • ref="类型"

    • 默认按照bean的类型注入数据

@Value

  • ref="基础数据类型"

    • 给基本数据类型赋值

spring-AOP

@Aspect

@Before

@AfterReturning

@AfterThrowing

@After

@Around

spring-TX

value

  • String

    • 可选的限定描述符,指定使用的事务管理器

propagation

  • enum:Propagation

    • 可选的事物传播行为设置

isolation

  • enum:Isolation

    • 可选的事物隔离级别设置

readOnly

  • boolean

    • 读写或只读事物,默认读写

timeout

  • int(in seconds granularity)

    • 事物超时时间设置

rollbackFor

  • Class对象数组,必须继承自Throwable

    • 导致事务回滚的异常类数组

rollbackForClassName

  • 类名数组,必须继承自Throwable

    • 导致事务回滚的异常类名字数组

noRollbackFor

  • Class对象数组,必须继承自Throwable

    • 不会导致事务回滚的异常类数组

noRollbackForClassName

  • 类名数组,必须继承自Throwable

    • 不会导致事务回滚的异常类名字数组

spring-JUNIT

@RunWith

  • 指定使用SpringJUnit4ClassRunner

@ContextConfiguration

  • 指定加载配置文件

spring-MVC

@RequestMapping

  • 配置映射地址

@GetMapping

  • 配置映射地址Get:得到资源

@PutMapping

  • 配置映射地址Put:修改整体内容

@PostMapping

  • 配置映射地址Post:新增内容

@DeleteMapping

  • 配置映射地址Delete:删除内容

@PatchMapping

  • 配置映射地址Patch:修改部分内容

@PathVariable

  • 绑定URL中的参数值

@RequestParam

  • 绑定单个请求数据,既可以是URL中的参数,也可以是表单提交的参数

@RequestBody

  • 请求参数格式为json

@RestController

  • 注释在类上,声明一个bean,表示类中返回值类型都是json(等价于@Controller+@ResponseBody)

@ResponseBody

  • 注解在方法上,表示此方法返回值类型为json

@ExceptionHandler

  • 异常处理

@ControllerAdvice

  • 对Controller层进行增强

配置类相关

@Configuration

  • 声明此类为配置类

@EnableAspectJAutoProxy

@EnableTransactionManagement

@EnableWebMvc

@PropertySource

@MapperScan

  • mybatis的扫描配置

@Bean

    • 声明bean

@ComponentScan

xml配置优势

1.集中式配置。这样做不会将不同组件分散的到处都是。你可以在一个地方看到所有Bean的概况和他们的装配关系。

2.如果你需要分割配置文件,没问题,Spring可以做到。它可以在运行时通过标签或者上Context文件对分割的文件进行重新聚合。

3.相对于自动装配(autowiring),只有XML配置允许显示装配(explicit wiring)

4.最后一点并不代表不重要,XML配置完全和JAVA文件解耦:两种文件完全没有耦合关系,这样的话,类可以被用作多个不同XML配置文件。

XML唯一的问题是,只有在运行时环境时你才能发现各种配置,但是如果使用Spring IDE Plugin(或者STS)的话,它会在编码时提示这些问题。

在XML配置和直接注解式配置之外还有一种有趣的选择方式-JavaConfig,它是在Spring 3.0开始从一个独立的项目并入到Spring中的。它结合了XML的解耦和JAVA编译时检查的优点。JavaConfig可以看成一个XML文件,只不过是使用Java编写的。相关文档在官方网站是可以找到的

XMind: ZEN - Trial Version

posted @ 2020-08-15 10:56  evilposeidon  阅读(177)  评论(0)    收藏  举报