常用注解解释
@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
全局异常处理