注解快速总结

注解源自注解名注解描述
SpringBoot@SpringBootApplicationSpringBoot的核心注解,主要目的是开启自动配置。它也是一个组合注解,主要组合了@SpringBootConfiguration,@EnableAutoConfiguration(核心)和@ComponentScan。可以通过@SpringBootApplication(exclude={想要关闭的自动配置的类名.class})来关闭特定的自动配置。
SpringBoot@ComponentScan@ComponentScan的功能是自动扫描并加载符合条件的组件(比如@Component,@Controler,@Service,和@Repository)或者bean定义加载到IOC容器中.比如有个类用@Controller注解标识了,那么这个类会被启动类的spring扫描到,并装入spring容器中.相反就不会扫描到
SpringBoot@EnableAutoConfiguration帮助SpringBootApplication将所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IOC容器
SpringBoot@SpringBootConfiguration该注解继承自@Configuration,二者功能一致,被标注的类为配置类,并会将当前类内部声明的一个或多个以@Bean注解标记的方法 的实例放到Spring容器中,并且实例名就是方法名.
SpringBoot@SpringBootTestSpringBoot为了测试方便专门开发了@SpringBootTest 主要的作用就是启动Spring容器. 只要在该类中执行@Test测试方法,则就会启动Spring容器.
Junit包@Test测试方法要求: 1.不能有返回值 必须为void。 2.不能携带参数。 3.测试方法名称不能叫test。
Junit包@BeforeEach表示在测试类中任何一个测试方法执行之前都先执行该注解标注的方法
Spring MVC常用@Controller组合注解(组合了@Component注解),应用在MVC层(控制层),DispatcherServlet会自动扫描注解了此注解的类,然后将web请求映射到注解了@RequestMapping的方法上。
Spring MVC常用@Service组合注解(组合了@Component注解),应用在service层(业务逻辑层)
Spring MVC常用@Repository组合注解(组合了@Component注解),应用在dao层(数据访问层)
Spring MVC常用@Component表示一个带注释的类是一个“组件”,成为Spring管理的Bean。当使用基于注解的配置和类路径扫描时,这些类被视为自动检测的候选对象。同时@Component还是一个元注解。
SpringMVC@ResponseBody将返回值放在response体内。返回的是数据而不是页面, 对象可以转化为JSON串
SpringMVC@RequestBodyJSON串转化为对象
SpringMVC@RestController组合注解,组合了@Controller和@ResponseBody,当我们只开发一个和页面交互数据的控制层的时候可以使用此注解。
SpringMVC@RequestMapping用来映射web请求(访问路径和参数),处理类和方法的。可以注解在类和方法上,注解在方法上的@RequestMapping路径会继承注解在类上的路径。同时支持Serlvet的request和response作为参数,也支持对request和response的媒体类型进行配置。其中有value(路径),produces(定义返回的媒体类型和字符集),method(指定请求方式)等属性。
SpringMVC@PathVariable放置在参数前,用来接受路径参数。
SpringMVC@CrossOrigin浏览器解析Ajax时 要求浏览器的网址,与Ajax请求的网址,必须满足三要素。 三要素: 1. 协议相同。2. 域名相同 。3. 端口号相同。如果上述的三要素都满足,则叫同域访问, 如果三要素有一项不满足,则称为跨域访问.
SpringMVC@GetMapping查询操作 类型:GET 接收注解
SpringMVC@PutMapping更新操作 类型:PUT 接收注解
SpringMVC@postMapping新增操作 类型:POST 接收注解
SpringMVC@DeleteMapping删除操作 类型:DELETE 接收注解
Lombok@Data自动生成get/set/toString/equals/hashcode等方法
Lombok@Accessors(chain = true)重写了Set方法、链式
Lombok@NoArgsConstructor无参构造。实例化时,默认是无参
Lombok@AllArgsConstructor全参构造添加全参前,必须手动添加无参
mybatis@Param如果你的映射方法有多个,可以使用这个注解在映射方法的参数上就能为他们取自定义名字(括号里)
mybatis@Mapper将Mapper接口交给Spring容器管理。注意: 该注解和映射文件二选一
mybatis@SelectSQL查询
mybatis@UpdateSQL修改
mybatis@InsertSQL插入
mybatis@MapperScan按照指定的包路径,扫描mapper的接口管理对象
SpringAOP@Aspect声明一个切面(就是说这是一个额外功能)
SpringAOP@PointCut@Pointcut(“execution(* cn.tedu.controller….(…))”)。切入点声明 什么时候要发通知的功能。第一个表示匹配任意的方法返回值,…(两个点)表示零个或多个,上面的第一个…表示service 包及其子包,第二个表示所有类,第三个*表示所有方法,第二个…表 示方法的任意参数个数
SpringAOP@Before在目标方法被调用之前做增强处理,
SpringAOP@After在目标方法完成之后做增强,
SpringAOP@Around环绕通知,在目标方法完成前和完成后做增强处理,环绕通知是最重要的通知类型,像事务,日志等都是环绕通知。 通知执行的优先级:进入目标方法时,先织入Around,再织入Before,退出目标方法时,先织入Around,最后织入After。@Around 方法前后各执行一次(相当于@Befor和@After一起使用)
Spring@Value值的注入。通常我们会将配置信息以key=value的形式存储在application.yml配置文件中。通过@Value("${配置文件中的key}")来引用指定的key对应的value。同样经常与Sping EL表达式语言一起使用,注入普通字符,系统属性,表达式运算结果,其他Bean的属性,文件内容,网址请求内容,配置文件属性值等等
Spring@PropertySource指定文件地址。提供了一种方便的、声明性的机制,用于向Spring的环境添加PropertySource。与@configuration类一起使用。
Spring@Configuration声明当前类是一个配置类(相当于一个Spring配置的xml文件)
Spring@Bean注解在方法上,声明当前方法的返回值为一个Bean。返回的Bean对应的类中可以定义init()方法和destroy()方法,然后在@Bean(initMethod=”init”,destroyMethod=”destroy”)定义,在构造之后执行init,在销毁之前执行destroy。
Spring@AutowiredSpring提供的工具(由Spring的依赖注入工具(BeanPostProcessor、BeanFactoryPostProcessor)自动注入。)
Spring@DateTimeFormat由于传入的时间参数是String类型的,inTime属性是java.util.Date类型的,即需要Spring的@DateTimeFormat注解格式化这个参数
Spring@Transactional位置: 1.接口实现类或接口实现方法上,而不是接口类中。2.访问权限:public 的方法才起作用。@Transactional 注解应该只被应用到 public 方法上,这是由 Spring AOP 的本质决定的。系统设计: 将标签放置在需要进行事务管理的方法上,而不是放在所有接口实现类上。只读的接口就不需要事务管理,若配置了@Transactional就需要AOP拦截及事务的处理,可能影响系统性能。@Transactional 实质是使用了 JDBC 的事务来进行事务控制的@Transactional 基于 Spring 的动态代理的机制
Spring@Controller
Spring@Service
Spring@Repository
Spring@Component
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值