Spring 相关注解

Spring 相关注解

用于启动类上面的注解

@SpringBootApplication  

这是一个复合注解

@SpringBootConfiguration
作用于 @Configuration 一样
@EnableAutoConfiguration
开启自动化配置
@ComponentScan
开启IOC容器的扫描器,自动扫描与当前启动类同级或下级的所有组件类,发现,注册,注入

@MapperScan("") //不是Springboot注解 是MyBatis注解

配置Mapper接口所在的包路径,MyBatis基于动态代理模式,在运行时候代理Mapper接口中方法的实现

用于控制器上面的注解

@Controller

让当前类被扫描器发现,被注册对象到 IOC 容器,并且对象被当做控制器使用

@RequestMapping

映射类或方法的请求 url 地址,类可以有地址也可以没有,类的 url 地址是当前类中所有方法 url 地址的前缀

给类映射 url 地址的时候不可以指定请求方法,给方法映射 url 地址的时候可以指定请求方式为 get 或 post ,如果不指定默认是get

@GetMapping

@PostMpping

@ResponseBody

将控制器方法返回的结果直接转换为 json 格式,然后放到响应报文中进行返回,这样控制器方法只返回数据,不用转发到 jsp

它是和 ajax 发起的 http 请求一起使用的

@RequestParam

用于修正参数名,设置参数是不是必须的

Rest风格的控制器

@RestContror

定义一个 rest 风格的控制器

1.控制器中所有的方法都默认@ResponseBody 注解,只返回数据,不做转发和重定向操作

 

 

 

 

 

 

 

@GetMapping

@PostMapping

@PutMapping

@DeleteMapping

 

用于 Service 上面的注解

@Param

当接口中的方法有多个参数的时候,需要用@Param注解修正参数名字,在 Mapper.xml 文件中根据 @Param 注解修正后的名字进行取值

用于实体类的注解

@TableName

用于实体类,映射表名

@TableId

映射表中的主键id

@TableField

映射表中的字段,如果该字段

如果实体类中类名和属性名完全遵守驼峰命名规范

数据库表名和字段名完全遵守全小写+下划线连字符规范

name就不需要使用 @TableName 和 @TableField 进行手动映射, MyBatis 框架会在自动映射

配置相关的注解

@Configuration

让任意一个类成为一个配置类

@Bean

用于配置类中的方法,将方法返回的对象注册到 IOC 容器中

@Value("${配置名}")

用于读取 application.propertis 核心配置文件中,根据配置名读取值,并把值赋给成员变量

IoC注解(控制反转,让扫描器去发现,注册 Bean 到 IOC 容器)

@Controller(用于控制器)

@Service(用于Service)

@Repository(用于 dao)

@Component(用于普通组件类,例如用于AoP类)

@Configuration(用于配置类)

@Scope(用于设置Bean的作用域)

@Scope("singleton") 单例模式

在启动时就会发现和创建 Bean 放到 Ioc 容器,在使用时不会创建新的 Bean

@Scope("prototype") 原型模式

在启动时不会发现和注册 Bean 到 IoC 容器,每访问一次就会创建一个新的对象

DI注解

@Resource

JDK 提供的

@Autowired

框架自带的

AoP注解

@Aspect

定义一个 AoP 切面类

@Pointcut

定义一个切面表达式,根据表达式寻找被 AoP 代理增强的目标方法

@Before

定义一个前置代理增强的方法

@AfterReturning

定义一个返回时代理增强的方法

@AfterThrowing

定义一个抛出异常时代理增强的方法

@After

定义一个后置代理增强的方法

@Around

定义一个环绕代理增强的方法

Spring 事务管理注解

@Transactional

1.可以用于类,也可以用于方法,如果用于类,则类中所有方法都会开事务执行,用于方法是单个方法开事务执行

2.可以用于 Controller 类,也可以用于 Service 类, 或者其他操作数据库的类

3.必须指定 rollbackFor=某个异常类型.class ,表示当执行过程中发生这种异常时进行回滚,不发生执行提交

@Transactional (rollbackFor = Exception.class)

4.书屋隔离级别默认是数据库的默认隔离级别,可以通过 isolation 设置 ,取值是 isolation 枚举类型

@Transactional (rollbackFor = Exception.class,isolation = Isolation.DEFAULT)

5.可以通过 propagation 指定事务传播机制,,取值是 Propagation 枚举类型

 

 

 

Lombok相关注解

@Data

用于自动在字节码中生成 getter 和 setter 、重写 toString() 方法,重写 equals() 和 hashcode() 方法

@Slf4j

用于在字节码中生成一个全局的静态常量 log ,用于打印日志

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值