Web类注解
@PathVariable
:接收路径参数
@RequestParam
:接收的参数来自请求头。一般用于Get请求。
@RequsetBody
:接收的参数来自请求体。一般用于Post请求。
@RestController
:该注解为⼀个组合注解,相当于@Controller 和@ResponseBody 的组合
@ResponseBody
:将Controller层的方法返回的对象,转换为指定格式后,写入到Response对象的body数据区。
@RequstMapping
:用在类上,类中的方法都以注解中的地址作为父路径;用于方法上,类的父路径加上该方法注解中的地址,将会访问到该方法。
方法上也可以根据请求类型使⽤不同的注解
post请求:@PostMapping
get请求:@GetMapping
put请求:@PutMapping
delete请求:@DeleteMapping
容器类注解
@Configuration
:声明当前类是⼀个配置类
@Value
:可⽤在字段,构造器参数跟⽅法参数上。⼀般将 SpringbBoot 中的 application.properties 中配置的属性值赋值给变量
使用 @Value("${property}")
读取简单的配置信息:
@Value("${wuhan2020}")
String wuhan2020;
@Component
:通用的注解,可标注任意类为 Spring
组件
@Repository
: 对应持久层即 Dao 层,主要用于数据库相关操作。
@Service
: 对应服务层,主要涉及一些复杂的逻辑
@Controller
: 对应控制层,主要用于接受用户请求并调用 Service
层返回数据给前端页面
@Bean
:注解在⽅法上,声明当前⽅法的返回值为⼀个 Bean
@Autowired
:对类成员变量、方法及构造函数进行标注,让 spring 完成 bean 自动装配的工作。
@Qualifier
:和 @Autowired 配合使⽤。如果需要对注⼊的过程做更多的控制,@Qualifier 可帮助配 置,⽐如两个以上相同类型的 Bean 时 Spring ⽆法抉择,⽤到此注解
@Autowired
@Qualifier(value="oracleDataSource" )
public void initDataSource(Datasource dataSource){
this.dataSource = datasource;
}
@Scope
:声明 Spring Bean 的作用域
Bean是线程安全的吗?什么是作用域?
AOP类注解
@Aspect
:把类标识为一个切面
@After
:后置通知,在被切的方法执行后执行,比return更后。
@Before
:前置通知,在被切的方法执行前执行。
@Around
:环绕通知,在方法执行之前与之后执行
@AfterThrowing
:异常通知,在被切的方法抛异常时执行。
@AfterRunning
:返回通知,在被切的方法return后执行
@PointCut
:可以将 方法(method)、类(class)、接口(interface)、包(package) 等作为切入点。
事务类注解
@Transactional:在要开启事务的⽅法上使⽤@Transactional 注解,即可声明式开启事务。
Spring中的事务