Spring Boot是一个基于Spring框架的快速开发框架,它使用了约定大于配置的方式,可以帮助开发人员快速搭建基于Spring的Web应用程序。相较于传统的Spring框架,Spring Boot的优势在于自动化配置、嵌入式Web容器、依赖管理等方面。
@Resource和@Autowire注解的区别
- Autowired 是 Spring 框架中的注解,Resource 是 JavaEE 自带的注解
- 使用@Autowired 注解,会按类型装配,如果有多个同类型的 bean,会抛出异常。
使用@Resource 注解,会按名称装配,如果名称不存在,会使用类型装配。
SpringBoot配置文件
application.properties(传统格式/默认格式)
application.yml(主流格式)
SpringBoot3种配置文件不同版本优先级
application.yaml
springboot 2.4.0及以后版本:application.yaml application.yml application.properties
springboot 2.4.0以前版本:application.properties application.yml application.yaml
Springboot常用注解
@SpringBootApplication
这个注解是Spring Boot最核心的注解,用在 Spring Boot的主类上,标识这是一个 Spring Boot 应用,用来开启 Spring Boot 的各项能力。实际上这个注解是@Configuration,@EnableAutoConfiguration,@ComponentScan三个注解的组合。由于这些注解一般都是一起使用,所以Spring Boot提供了一个统一的注解@SpringBootApplication。
@Controller
在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面
@ResponseBody
表示该方法的返回结果直接写入HTTP response body中。
@RestController
用于标注控制层组件,表示这是个控制器bean,并且是将函数的返回值直接填入HTTP响应体中,它是@Controller和@ResponseBody的合集
@ComponentScan
组件扫描。让spring Boot扫描到Configuration类并把它加入到程序上下文。
@ComponentScan注解默认就会装配标识了@Controller,@Service,@Repository
@Controller
表明这是一个控制层,把内容注册成一个bean,并放入到ioc容器中
@Service
表明这是一个业务层,把内容注册成一个bean,并放入到ioc容器中
@Repository
表明这是一个数据层,把内容注册成一个bean,并放入到ioc容器中
@AutoWired
byType方式。把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。
当加上(required=false)时,就算找不到bean也不报错。
@Resource
默认byName。与@Autowired干类似的事。