温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Spring Boot 注解大全

发布时间:2020-08-03 08:38:37 来源:网络 阅读:1612 作者:灰白世界 栏目:编程语言

启动类注解

@Configuration:定义配置类,被注解的类内部包含有一个或多个被 @Bean 注解的方法

@EnableAutoConfiguration:开启自动配置功能,自动根据导入的依赖来自动配置项目

@ComponentScan:该注解标识的类,会被 Spring 自动扫描并且装入bean容器

@SpringBootApplication = @Configuration+@EnableAutoConfiguration+@ComponentScan

请求注解

@RequestBody:将请求体中的 json 字符串绑定到相应的 Bean 上

@ResponseBoby:将返回的对象转换成 json 字符串返回

@Controller:标注该类时一个控制器

@RestController:@Controller + @ResponseBody,标注该类是一个控制器,但不能返回页面,只能返回 json

@RequestMapping:提供路由信息,负责 url 到 控制器具体函数的映射

@RequestParam:将 url 中的参数绑定到函数的变量中

@PathVariable:映射 url 绑定的占位符

@GetMapping = @RequestMapping(method = RequestMethod.GET)

@PostMapping = @RequestMapping(method = RequestMethod.POST)

@PutMapping = @RequestMapping(method = RequestMethod.PUT)

@DeleteMapping = @RequestMapping(method = RequestMethod.DELETE)

配置注解

@Import:用来导入其他配置类

@ImportResource:用来加载 xml 配置文件

@Autowired:自动导入依赖的 Bean

@Service:一般用于修饰 service 层的组件

@Repository:使用该注解可以确保 dao 或者 repositories 提供异常转译,这个注解修饰的类会被ComponetScan发现并配置,同时也不需要为它们提供XML配置项

@Bean:用 @Bean 标注方法等价于XML中配置的 Bean

@Value:注入properties/yml 配置的属性的值

@Inject:等价于默认的 @Autowired,只是没有 required 属性

@Component:泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注

@Bean:标注在方法上,将方法的返回对象交由 Spring 处理

@AutoWired:自动导入依赖的 Bean,byType 方式

@Qualifier:当有多个同一类型的 Bean 时,可以用 @Qualifier("name") 来指定,与 @Autowired 配合使用

JPA 注解

@Entity、@Table(name=""):表明这是一个实体类,这两个注解一般一块使用,但是如果表名和实体类名相同的话,@Table可以省略

@MappedSuperClass:用在确定是父类的entity上,父类的属性子类可以继承

@NoRepositoryBean:一般用作父类的 repository,有这个注解,spring不会去实例化该 repository

@Column:如果字段名与列名相同,则可以省略

@Id:表示该属性为主键

@GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "repair_seq"):表示主键生成策略是sequence(可以为Auto、IDENTITY、native等,Auto表示可在多个数据库间切换),指定 sequence 的名字是repair_seq

@SequenceGeneretor(name = "repair_seq",sequenceName = "seq_repair",allocationSize = 1):name 为 sequence的名称,以便使用,sequenceName 为数据库的 sequence 名称,两个名称可以一致

@Transient:表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性,如果一个属性并非数据库表的字段映射,就务必将其标示为 @Transient ,否则,ORM框架默认其注解为@Basic

@Basic(fetch=FetchType.LAZY):标记可以指定实体属性的加载方式

@JsonIgnore:作用是 json 序列化时将 Bean 中的一些属性忽略掉,序列化和反序列化都受影响

@JoinColumn(name="loginId"):一对一,本表中指向另一个表的外键;一对多,另一个表指向本表的外键

@OneToOne、@OneToMany、@ManyToOne:对应 hibernate 配置文件中的一对一、一对多、多对一

全局异常处理

@ControllerAdvice:包含@Component,可以被扫描到,统一处理异常

@ExceptionHandler(Exception.class):用在方法上面表示遇到这个异常就执行以下方法

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI