@SpringBootApplication是springboot启动类,包括三个注解,他们的作用分别是
@Configuration:表示将该类作用springboot配置文件类
@EnableAutoConfiguration:表示程序启动时,自动加载springboot默认的配置
@ComponentScan:表示程序启动是,自动扫描当前包及子包下所有类
@ComponentScan && @Configuration && @EnableAutoConfiguration
@ComponentScan 如果不设置basePackage的话 默认会扫描包的所有类,可根据basePackage 扫描指定的包
减少加载时间。默认扫描**/.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
@Configuration标注在类上,相当于把该类作为spring的xml配置文件中的,
作用为:配置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映射到 特定的处理方法上。
@springCloudApplication 应用开启入口 比@SpringBootApplication更强大
@EnableEurekaClient开启eureka客户端 可以调用在eureka注册的服务
@EnableDiscoveryClient 不仅可以开启eureka客户端,还有consul、zookeeper
@EnableEurekaServer 开启eureka服务端 类似于注册中心zookeeper
@EnableFeignClients 开启负载均衡 包装了Ribbon
@FeignClient:发现服务
@EnableHystrix 开启容错保护
@EnableZuulProxy 开启网关代
@MapperScan(“com.xxx.user.mapper”) 扫描mapper包,可以直接注入
标注在启动类的resttempalte方法上(负载均衡)
@Bean 标注注册一个javabean 类似ssm框架的
@LoadBalanced 开启负载均衡(客户端) 配合@EnableFeignClients
标注在javaconfig文件
@PropertySource扫描外部资源文件properties 用来配置javabean
标注在service方法
@HystrixCommand(fallbackMethod = “login”) 容错保护,配合@EnableHystrix
@Cacheable(value = “key” ) redis库的value就是你的返回值
标注在mapper方法上