关于java:注解

46次阅读

共计 1707 个字符,预计需要花费 5 分钟才能阅读完成。

@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

正文完
 0