常用注解
常用注解
应用上下文
AutoWired
把配置好的
@Bean
相当于
@ComponentScan
组件扫描。个人理解相当于,如果扫描到有bean*
;
@Configuration
指出该类是
@Component
泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@EnableAutoConfiguration
让
@Qualifier
当有多个同一类型的
@Repository
用于标注数据访问组件,即
@Resource(name=”name”,type=”type”)
没有括号内内容的话,默认
@SpringBootApplication
包含
请求响应与服务
@Controller & @RestController
用于标注是控制层组件,需要返回页面时请用
@RequestMapping
-
params: 指定request 中必须包含某些参数值是,才让该方法处理。 -
headers: 指定request 中必须包含某些指定的header 值,才能让该方法处理请求。 -
value: 指定请求的实际地址,指定的地址可以是URI Template 模式 -
method: 指定请求的method 类型,GET、POST、PUT、DELETE 等 -
consumes: 指定处理请求的提交内容类型(Content-Type) ,如application/json,text/html; -
produces: 指定返回的内容类型,仅当request 请求头中的(Accept) 类型中包含该指定类型才返回。
其关联注解还有@RequestMapping(value=”/”,method=RequestMethod.GetPostPutDelete)
等。是个组合注解;
@RequestParam & @PathVariable & @RequestBody
// RequestMapping(“user/get/mac/{macAddress}”);
public String getByMacAddress(
@PathVariable(“macAddress”) String macAddress){
//do something;
}
参数与大括号里的名字相同的话,注解后括号里的内容可以不填。
@ResponseBody
表示该方法的返回结果直接写入
@Service
用于标注业务层组件。
数据访问
Jpa
@Entity & @Table(name=”“)
表明这是一个实体类。一般用于
@MappedSuperClass
用在确定是父类的
@NoRepositoryBean
一般用作父类的
@Column & @Id
如果字段名与列名相同,则可以省略。
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator = “repair_seq”)
表示主键生成策略是
@SequenceGeneretor(name = “repair_seq”, sequenceName = “seq_repair”, allocationSize = 1)
@Transient
表示该属性并非一个到数据库表的字段的映射@Basic(fetch=FetchType.LAZY)
标记可以指定实体属性的加载方式。
@JsonIgnore
作用是
@JoinColumn(name=”loginId”)
Spring Cloud
@SpringCloudApplication
包含
@EnableEurekaServer
用在
@EnableDiscoveryClient
用在
@LoadBalanced
开启负载均衡能力。
@EnableCircuitBreaker
用在启动类上,开启断路器功能。
@HystrixCommand(fallbackMethod=”backMethod”)
用在方法上,
@EnableConfigServer
用在启动类上,表示这是一个配置中心,开启
@EnableZuulProxy
开启
其他
服务与异常处理
@ControllerAdvice
包含
@ExceptionHandler(Exception.class)
用在方法上面表示遇到这个异常就执行以下方法。