1.@Resource vs @Autowired, @Qualifier使用场景
@Resource:只能放在属性上,表示先按照属性名匹配IOC容器中对象id给属性注入值,如果失败,就根据属性类型匹配注入。如果指定name,就必须id注入
@Autowired:放在属性上,先按类型注入,多个属性同类型对象,就按照属性名注入(也可以配合@Qualifier)
放在方法上:自动执行当前方法,如果有参数,就自动从容器里寻找(也可以@Qualifier)
@Qualifier使用场景:指定id配置对象
2.SpringBoot常用注解
@SpringBootApplication:封装核心@SpringBootConfiguration + @EnableScheduling + @ComponentScan
@EnableScheduling:通过@Import把Spring调度框架相关的bean定义加载到IOC容器中
@MapperScan:支持mybaits的一个注解,对mybatis的接口扫描
@RestController:@Controller和@ResponseBody的结合
@RequestMapping:明确请求路径
@GetMapping(...):结合@RequestMapping使用,Rest风格的路径
@PathVariable:路径变量注解,用{}来定义url部分的变量名
@Service:标记业务层组件
@Component:注入IOC容器
@ControllerAdvice和@ExceptionHandler:配合完成统一异常拦截处理
3.运行SpringBoot的方式
可以打包,可以使用Maven插件运行,直接运行main方法
4.SpringBoot的优点
版本锁定:maven依赖版本容易冲突的问题,集合了常用的并且测试过的所有版本
使用了启动器(Starter)管理依赖并能对版本进行集中控制(<artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version>)
起步依赖:不用整合过多jar,集合了常用jar
自动配置:集合了所有约定的默认配置
内置Tomcat:直接运行javaEE
SpringBoot就是一个脚手架,开箱即用