@SpringBootApplication是springboot启动类,包括三个注解,他们的作用分别是:

 @Configuration:表示将该类作用springboot配置文件类

 @EnableAutoConfiguration:表示程序启动时,自动加载springboot默认的配置

  @ComponentScan:表示程序启动是,自动扫描当前包及子包下所有类

@EnableDiscoveryClient    &&    @EnableEurekaClient

        @EnableDiscoveryClient基于spring-cloud-commons,@EnableEurekaClient基于spring-cloud-netflix,如果选用的注册中心是eureka,那么就推荐@EnableEurekaClient,如果是其他的注册中心,那么推荐使用@EnableDiscoveryClient。

 @ComponentScan     &&     @Configuration    &&    @EnableAutoConfiguration

  @ComponentScan 如果不设置basePackage的话 默认会扫描包的所有类,所以最好还是写上basePackage (@componentScan({" ... "}),减少加载时间。默认扫描**/*.class路径 比如这个注解在com.wuhulala 下面 ,那么会扫描这个包下的所有类还有子包的所有类,比如com.wuhulala.service包的应用

           @Configuration 表示这个类中定义了Bean,会把这个类中bean加载到spring容器中

          @EnableAutoConfiguration表示 会在你开启某些功能的时候自动配置,这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用,并对Spring进行相应地设置。

@Mapper    &&    @MapperScan
 Mapper类上面添加注解@Mapper,这种方式要求每一个mapper类都需要添加此注解
  使用@MapperScan可以指定要扫描的Mapper类的包的路径(@MapperScan("com.demo.*.mapper") || @MapperScan("com.test.*.mapper", "com.demo.*.mapper"))

@EnableTransactionManagement    &&    @Transactional

        Spring Boot 使用事务非常简单,首先使用注解 @EnableTransactionManagement (启注解事务管理,等同于xml配置方式的 <tx:annotation-driven />)开启事务支持后,然后在访问数据库的Service方法上添加注解 @Transactional 便可。

 @Async    &&    @EnableAsync

        @EnableAsync注解的意思是可以异步执行,就是开启多线程的意思。可以标注在方法、类上。

        为了让@Async注解能够生效,需要在Spring Boot的主程序中配置@EnableAsync

        @Async所修饰的函数不要定义为static类型,这样异步调用不会生效

 @Bean    &&    @Configuration

        @Bean标注在方法上(返回某个实例的方法),等价于spring的xml配置文件中的<bean>,作用为:注册bean对象

        @Configuration标注在类上,相当于把该类作为spring的xml配置文件中的<beans>,作用为:配置spring容器(应用上下文)

 @GetMapping    &&    @PostMapping

         Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},来帮助简化常用的HTTP方法的映射,并更好地表达被注解方法的语义。

        @GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。该注解将HTTP Get 映射到 特定的处理方法上。

        @GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。该注解将HTTP Post映射到 特定的处理方法上。

 @LoadBalanced

        Spring Cloud的commons模块提供了一个@LoadBalanced注解,方便我们对RestTemplate添加一个LoadBalancerClient,以实现客户端负载均衡。通过源码可以发现这是一个标记注解,我们可以通过ribbon实现客户端的负载均衡功能。

 

最新文章

  1. 你必须知道的指针基础-4.sizeof计算数组长度与strcpy的安全性问题
  2. win7、linux安装使用pip、mitmproxy
  3. [Asp.net 开发系列之SignalR篇]专题三:使用SignalR实现聊天室的功能
  4. codevs1138 聪明的质监员
  5. 【Android UI设计与开发】8.顶部标题栏(一)ActionBar 奥义&#183;详解
  6. MongoDB的安全性
  7. SQLServer实现split分割字符串到列
  8. vs code(egret wing) php配置与调试
  9. VAXVOIP SDK Licensekey
  10. TreeView的绑定
  11. struts2拦截器-自定义拦截器,放行某些方法(web.xml配置)
  12. 201521123023《Java程序设计》第13周学习总结
  13. POJ-1122 FDNY to the Rescue!---Dijkstra+反向建图
  14. Flask快速入门
  15. Redis 简介与命令操作
  16. PDF中的空白页面怎么删除,PDF页面删除技巧
  17. WebSocket(5)---多人聊天系统
  18. 一个linux内核模块移植到低版本时发生的异常
  19. Structs复习 Structs标签
  20. App 添加权限

热门文章

  1. (day56)八、删除框、批量创建、分页器组件
  2. vue.js操作元素属性
  3. matlab练习程序(DBSCAN)
  4. [技术]SYZOJ 实现网站与评测端分离
  5. PS快速去除水印方法
  6. D3力布图绘制--基本方法
  7. Algorithm: Permutation &amp; Combination
  8. MySQL使用crontab定时备份不执行问题
  9. Prometheus 监控K8S 资源状态对象
  10. ElasticSearch简介(一)——基础