@Component 注解为Spring框架中定义的用于形容个别bean对象
@SpringBootTest SpringBoot工程中单元测试类必须要用此注解形容
@Autowired Spring中能够借助此注解来形容属性,用于通知spring这个属性的值有spring注入
@Lazy 提早对象实例的创立,用的时候再创立
@Scope("prototype") 多例作用域,每次从spring申请类的实例都会创立新的对象
@Scope("singleton") 默认作用域为单例作用域,此作用域通常会配合提早加载应用
@PostConstruct//此注解用来形容办法为生命周期初始化办法,构造方法之前执行,能够在办法外部做初始化
@PreDestroy//此注解用来形容办法为生命周期销毁办法,对象销毁之前执行,能够进行一些资源开释操作
如果是单例作用域,生命周期初始化办法和生命周期销毁办法都会被执行,因为销毁时,是由spring容器负责,相同多例作用域是不会执行生命周期销毁办法,因为不是spring容器治理,当这个对象在内存中没有任何援用指向它的时候,GC触发时销毁。
@Qualifier("xxx") 须要配置Autowire注解应用,不能独自应用,用于指定要注入的bean的名字
@Repository此注解个别用于形容数据逻辑层的具体实现对象,此对象要交给spring治理
@Mapper注解由MyBatis提供,用于形容数据逻辑层接口,由MyBatis底层为接口创立实现类,并将其实现类的对象交给spring治理,Spring会为他治理的这个bean起个名字,默认为接口名,首字母小写,而后在实现类的外部基于sqlsession对象与数据库的会话。
@MapperScan("Dao接口所在的包")此注解是在SpringBoot我的项目中,为启动类增加的形容,此注解的作用是:扫描指定包上面的接口,零碎底层也会产生对应的实现类。
@Controller此注解形容的对象为controller申请的处理器对象,咱们通常称之为handler
@RequestMapping注解形容办法时用于定义申请url到handler中办法映射
@ResponseBody当应用此注解形容管制层的handler办法时,假如此办法的返回值为map或者pojo对象时,零碎底层会将这样的转换为json格局字符串,而后响应到客户端
@DateTimeFormat注解指定能够接管的日期格局
@RestController相当于@Controller+@ResponseBody,形容handler类型,用于定义此类是一个Controller申请解决对象,同时类中所有办法都默认增加@ResponseBody注解
@DateTimeFormat注解指定能够接管的日期格局
@RequestParam注解用于形容办法参数,用于定义参数规定
@GetMapping形容办法是用于解决GET申请的
@RequestBody注解形容办法参数时客户端以post形式提交Json格局的数据
@RequestBody注解形容办法参数不能封装Get申请数据
@PathVariable注解形容办法的参数变量时,示意这个参数的变量的值来自url中{}表达式给定的值
lombok提供的一些注解:
@Data此注解形容类时,在编译时会为此类生成get,set,toString,hashCode,equals等办法
@ToString提供重写的toString办法
@Setter提供set办法
@Getter提供get办法
@Slf4j:lombok发现类上有此注解时,会为此类创立一个日志对象,其变量为log
@AllArgsConstructor提供全参构造函数
@NoArgsConstructor提供无参构造函数
@ExceptionHandler形容的为一个controller中的异样解决办法
@ControllerAdvice此注解形容的类为全局异样解决类,在此类中能够定义多个异样解决办法
@RestControllerAdvice相当于@ResponseBody+@ControllerAdvice