Java面试题六:SpringBoot的一些注解

Springboot配置文件 application.yml 或application.properties

@ConfigurationProperties(prefix = "***"):读取配置文件中“***”的数据

 

@Aspect:把当前类标识为一个切面供容器读取

 

@Pointcut:设置切点  (execution(public * 全限定类名*.*(..)))execution是一种使用频率比较高比较主要的一种切点指示符,用来匹配方法签名,方法签名使用全限定名,包括访问修饰符(public/private/protected)、返回类型,包名、类名、方法名、参数,其中返回类型,包名,类名,方法,参数是必须的

  • @Before: 前置通知, 在方法执行之前执行
  • @After: 后置通知, 在方法执行之后执行 。
  • @AfterRunning: 返回通知, 在方法返回结果之后执行
  • @AfterThrowing: 异常通知, 在方法抛出异常之后
  • @Around: 环绕通知, 围绕着方法执行

1、@controller 控制器(注入服务)

用于标注控制层,相当于struts中的action层
2、@service 服务(注入dao)

用于标注服务层,主要用来进行业务的逻辑处理
3、@repository(实现dao访问)

用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件.
4、@component (把普通pojo实例化到spring容器中,相当于配置文件中的 

泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。

@Autowired  是一种注解,可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作

@Bean注解的方法:会实例化、配置并初始化一个新的对象,这个对象会由spring IoC 容器管理。

@RequestMapping注解为控制器指定可以处理的URL请求

@getMapping = @RequestMapping(method = RequestMethod.GET)。

@postMapping = @RequestMapping(method = RequestMethod.POST)。

@Valid注解可以实现数据的验证

@RequestParam:GET和POST请求传的参数会自动转换赋值到@RequestParam 所注解的变量上

@RequestBody注解可以接收json格式的数据,并将其转换成对应的数据类型。(不能用于GET)

@RestController注解相当于@ResponseBody + @Controller合在一起的作用 

@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面。若返回json等内容到页面,则需要加@ResponseBody注解

@Cacheable 可以标记在一个方法上,也可以标记在一个类上。当标记在一个方法上时表示该方法是支持缓存的,当标记在一个类上时则表示该类所有的方法都是支持缓存的。对于一个支持缓存的方法,Spring会在其被调用后将其返回值缓存起来,以保证下次利用同样的参数来执行该方法时可以直接从缓存中获取结果,而不需要再次执行该方法。

@CacheEvict 当标记在一个类上时表示其中所有的方法的执行都会触发缓存的清除操作。allEntries(属性)是boolean类型,表示是否需要清除缓存中的所有元素。beforeInvocation属性,清除操作默认是在对应方法成功执行之后触发的,使用beforeInvocation可以改变触发清除操作的时间,当我们指定该属性值为true时,Spring会在调用该方法之前清除缓存中的指定元素

@CachePut  在支持Spring Cache的环境下,对于使用@Cacheable标注的方法,Spring在每次执行前都会检查Cache中是否存在相同key的缓存元素,如果存在就不再执行该方法,而是直接从缓存中获取结果进行返回,否则才会执行并将返回结果存入指定的缓存中

@Entity表明这是一个实体类,要与数据库做orm映射。需要与@Id结合使用

@Id  将该属性设置为主键

@JsonIgnore此注解用于属性或者方法上(最好是属性上)作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。

@ExceptionHandler:用于拦截异常
@Transactional:使用事务
@ServerEndpoint:WebSocket用

分别对应@onOpen,@onMessage,@onError,@onClose

事件类型 WebSocket回调函数 事件描述
open webSocket.onopen 当打开连接后触发
message webSocket.onmessage 当客户端接收服务端数据时触发
error webSocket.onerror 当通信异常时触发
close webSocket.onclose 当连接关闭时触发

 

lombok库中:

@Data:注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法 
@Setter:注解在属性上;为属性提供 setting 方法 
@Getter:注解在属性上;为属性提供 getting 方法
@Log4j:注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@Slf4j: 注解在类上;为类提供一个 属性名为log 的 Slf4j日志对象

 

你可能感兴趣的:(Java面试题六:SpringBoot的一些注解)