常用注解解释

@SpringBoot

在springboot工程中只能有一个类是启动类,这个类需要
* 1)使用@SpringBootAppLication注解进行描述
* 2)此类中会有一个main方法,在main方法中初始化springboot默认配置
 
@Component
此注解描述的对象可以交给spring去管理,例如创建bean实例,给bean起一个对象名
 
@Lazy
描述对象类型时表示延迟对象的创建,何时需要何时创建,尤其是一些大对象,短时间又不会用到我们可以采用这样策略(加载到内存中,暂不创建实例,叫延迟加载)
 
@Scope("singleton")
此注解用于设置bean对象的作用域,默认singleton(单例),相同名字的bean地址值相同
 
@Scope("prototype")
多为实例域,每次从spring框架请求类的实例都会创建新的
 
@PostConstruct
此注解描述的方法为对象生命周期初始化方法,此方法会在构造方法之后执行
 
@PreDestroy
此注解描述的方法为对象生命周期销毁方法,此方法会在对象销毁之前执行
 
@Controller
描述的对象为spring框架管理的bean
* 这个通常会作为spring web模块的一个请求处理器对象
这个注解用于高速spring web模块这个对象是一个控制层的处理器
 
@RequestMapping
//@RequestMapping定义请求url到方法的映射
//访问:http://localhost/doTemplateUI
 
@Repository
多个map存储到list集合. @Repository此注解通常用于描述数据层实现类对象,
本质上就是一个特殊的@Component, 都是要交给spring框架管理的一个Bean对象
 
@Mapper
此注解描述的接口为数据逻辑接口
此接口的实现类会有mybatis创建,这个实现类对象会交给spring管理
 
@ResponseBody
不再将响应结果理解为view
并将响应结果转换为json格式
写到响应体,响应到响应端
注意!使用这个方法的返回值不再是view
 
 
@RequestParam
此注解可以描述方法参数,用于对方法参数进行相关设置,默认客户端必须要给他描述的参数传一个值,不传值直接400异常
@RequestParam(required=false) 可以通过,值为null
 
@DateTimeFormat
描述日期参数,用于指定可以接受的日期格式,默认为“yyyy/MM/dd HH:mm”
 
@PathVariable
注解对方法参数进行描述,前提是方法参数名需要与url中的变量相同
map要两边都有
 
@Slf4j
//当使用lombok中的这个注解时,系统底层在编译类时,会自动在字节码文件中添加一个log对象
//这句话不用写了,因为我们的类上添加了一个@Slf4j
//private static final Logger log= LoggerFactory.getLogger(BrandServiceImpl.class);
Editstart
 
@EqualsAndHashCode
底层重写hashCode和equals方法,但默认规则不符合要求时,我们还需要自己重写
 
@NoArgsConstructor
在类中添加无参构造函数
 
@AlArgsConstructor
在类中添加全参构造函数
 
@Data
包含
//@Setter
//@Getter
//@ToString
//@EqualsAndHashCode
 
@ExceptionHandler
@ExceptionHandler注解描述的方法为异常处理方法(注解中的异常类型为可处理的异常类型),假如Controller类中的逻辑方法中出现异常后没有处理异常,则会查找Controller类中有没有定义异常处理方法,假如定义了,且可以处理抛出的异常类型,则由异常处理方法处理异常。
 
@RestController
@Controller+@ResponseBody
 
@RestControllerAdvice
为spring mvc中的全局异常处理类,当某个控制层对象方法出现了异常,方法内部没有处理异常,方法所在的类也没有定义此异常的方法,此时系统底层会查找全局异常处理类,并检查这个全局处理类中是否定义了可以处理此异常的方法,假如定义了,则直接调用异常方法处理异常
包含://@ControllerAdvice//@ResponseBody
全局异常处理
posted @ 2020-12-08 20:32  Liang-shi  阅读(140)  评论(0编辑  收藏  举报