SpringBoot注解大全
启动类注解
@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):用在方法上面表示遇到这个异常就执行以下方法
新闻名称:SpringBoot注解大全
文章源于:http://ybzwz.com/article/pjjcpo.html