目录
启动类注解
@SpringBootApplication在启动类上,包含@Configuration、@EnableAutoConfiguration、@ComponentScan
@SpringBootConfiguration 其实就是@Configuration
@EnableAutoConfiguration 自动配置 (exclude={AutoConfiguration.class})可以在禁用某个自动配置类
@ComponentScan 包扫描
@EnableAutoConfiguration:
让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置,一般加在主类上。
生成一个bean对象
以下四个注解唯一不同之处是名字,主要是告诉看的人标注类的大致功能
@Repository:
数据访问组件,即DAO组件。
@Service:
业务层组件。
@Controller
控制器层
@Configuration:
配置类,相当于XML中声明Bean。
@Component:
以上四个里面的注解,泛指组件
@Bean:
相当于XML中的<bean></bean>,放在方法的上面,而不是类,意思是产生一个bean,并交给spring管理。
交互相关注解
@ResponseBody:
表示该方法作为响应体,的返回结果直接写入HTTP response body中,一般在异步获取数据时使用。
@RestController:
包含@Controller和@ResponseBody,相当与在每一个方法头上加@ResponseBody
@RequestMapping:
RequestMapping请求地址映射,类中的所有响应请求的方法都是以该地址作为父路径,可以标注在类上或方法上
@RequestParam:
请求参数名在参数前面
扫描注解
@ComponentScan:
组件扫描,如果扫描到有@Component @Controller @Service等这些注解的类,则把这些类注册为bean。
属性上的注解
@AutoWired:
byType方式。把配置好的Bean拿来用,完成属性、方法的自动组装
当加上(required=false)时,就算找不到bean也不报错。
@Qualifier:
当有多个同一类型的Bean时,可以用@Qualifier("name")来指定。与@Autowired配合使用
@Resource(name="name",type="type"):
没有括号内内容的话,默认byName。与@Autowired类似。
@PropertySource
加载配置文件
@Value
取出配置文件的值
全局异常处理
@ControllerAdvice:
包含@Component。可以被扫描到。
统一处理异常。
@ExceptionHandler(Exception.class):
用在方法上面表示遇到这个异常就执行以下方法。
事务注解
@EnableTransactionManagement
开启事务注解配置
@Transactional
事务配置隔离级别和传播行为以及指定回滚
缓存注解
@Cacheable
根据入参判断有缓存用缓存,没缓存调方法,
@CacheConfig :
抽取缓存的公共配置
@Caching :
定义复杂的缓存规则
@CachePut :
既调用方法,又更新缓存
@CacheEvict :
清除缓存