SpringBoot 常用注解

SpringBoot 常用注解

@SpringBootApplication 作用在启动类 Spring Boot的核心注解
主要组成:
@SpringBootConfiguration 组合了@Configuration 注解 实现类配置类 == xml
@EnableAutoConfiguation 打开自动配置功能
也可以关闭某个自动配置 关闭数据源的自动配置
@SpringBootApplication(Exclude=DataSourceAutoConfiguration.claa)
@ComponenScan 去扫描当前包子包的所有类
Spring组件扫描 == xml中 context:component-scan
@Component 标注一个类为Spring容器的Bean
(把普通pojo实例化到spring容器中,相当于配置文件中的)
@EnableConfigurationProperties注解的作用是:使使用 @ConfigurationProperties 注解的类生效。
如果一个配置类只配置@ConfigurationProperties注解,而没有使用@Component,那么在IOC容器中是获取不到properties 配置文件转化的bean。说白了 @EnableConfigurationProperties 相当于把使用 @ConfigurationProperties 的类进行了一次注入
@ConfigurationProperties 读取配置文件的注解
@Bean == xml 放到ioc容器中 作用在方法
@Scope(“singleton”) 声明SpringBean 的作用域 方法上
五种常见的 Spring Bean 的作用域:
singleton : 唯一 bean 实例,Spring 中的 bean 默认都是单例的。
prototype : 每次请求都会创建一个新的 bean 实例。
request : 每一次 HTTP 请求都会产生一个新的 bean,该 bean 仅在当前 HTTP request 内有效。
session : 每一次 HTTP 请求都会产生一个新的 bean,该 bean 仅在当前 HTTP session 内有效。
global-session:全局作用域,在一个全局的 HTTP Session 中,容器会返回该 Bean 的同一个实例

@ Configuration 用来声明这个类是个配置类 作用在类上
@ PathVariable用于获取路径参数
@RequestParam用于获取查询参数
@GetMapping(“/user/{id}/name”)
public List getUser(
@PathVariable("id ") Long id,
@RequestParam(value = “type”, required = false) String type ) {

}
如果我们请求的 url 是:/user/{123456}/teachers?type=web
那么我们服务获取到的数据就是:id =123456,type=web。
读取配置文件的注解:
application .yml:
Ace:
Id: 123
Name: admin
@Value(“ A c e . I d ” ) 读取比较简单配置信息 @ V a l u e ( “ {Ace.Id}”) 读取比较简单配置信息 @Value(“ Ace.Id)读取比较简单配置信息@Value({Ace.Id}”)
String id; id==123
One:
A:123
B:
C:12
D:45

@ConfigurationProperties读取配置信息并与 bean 绑定
@Component 标注一个类为Spring容器的Bean
@ConfigurationProperties(prefix = “one”)
class LibraryProperties {
private String A;

@Data

public class User{
Private String C;
Private String D;
} …
}
@PropertySource(“classpath:user.properties”)
读取指定 properties 文件

@ConfigurationProperties, @PropertySource 和 @Component 配合来使用 否则不会 那么在IOC容器中是获取不到properties/yml 配置文件转化的bean 或者在启动类上用 @EnableConfigurationProperties(…class);

Hibernate Validator 框架:
用于校验表单中的数据是否符合规则
@NotEmpty 被注释的字符串的不能为 null 也不能为空
@NotBlank 被注释的字符串非 null,并且必须包含一个非空白字符
@Null 被注释的元素必须为 null
@NotNull 被注释的元素必须不为 null
@AssertTrue 被注释的元素必须为 true
@AssertFalse 被注释的元素必须为 false
@Pattern(regex=,flag=)被注释的元素必须符合指定的正则表达式
@Email 被注释的元素必须是 Email 格式。
@Min(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value)被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max=, min=)被注释的元素的大小必须在指定的范围内
@Digits (integer, fraction)被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past被注释的元素必须是一个过去的日期
@Future 被注释的元素必须是一个将来的日期

  • 用户名
    */
    @Length(min = 4,max=18,message = “用户名应为4-18位”)
    private String username;

/**

  • 密码,加密存储
    */
    @Length(min = 6,max=18,message = “密码应为6-18位”)
    private String password;

/**

  • 注册手机号
    */
    @Pattern(regexp = RegexPatterns.PHONE_REGEX,message = “手机号格式不正确”)
    private String phone;

@ControllerAdvice 用于处理Controller层的异常
@ExceptionHandler :注解声明异常处理方法
事务 @Transactional 用于在方法上和类上

@MapperScan 去扫描mapper层

@Mapper mapper层的标识

Spring Cloud
@ EnableEurekaServer把当前微服务标记为Eureka注册中心
@EnableEurekaClient基于spring-cloud-netflix 把该微服务注册到注册中心
@EnableTransactionManagement 启动事务 == xml <tx:annotation-driven />

@ FeignClient(微服务的名字) feign的标识 远程调用
@ EnableFeignClients 该服务支持feing的远程调用
@ EnableZuulProxy 网关的标识写在主程序上启动zuul路由访问功能

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值