注:
本文仅作为学习笔记整理,如有侵权,联系删除
@SpringBootApplication
启动类上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要组合包含了
以下 3 个注解:@Configuration、@EnableAutoConfiguration、@ComponentScan,均作用在主类上
注解名 | 作用 |
---|
@ComponentScan | 用来自动扫描被这些注解标识的类,最终生成ioc容器里的bean,默认扫描范围是@ComponentScan注解所在配置类包及子包的类 |
@SpringBootConfiguration | 与@Configuration作用相同,都是用来声明当前类是一个配置类,这里表明是springboot主类使用的配置类 |
@EnableAutoConfiguration | 是springboot实现自动化配置的核心注解,通过这个注解把spring应用所需的bean注入容器中 |
@Component、@Service、@Controller、@Repository
注解名 | 作用 |
---|
@Component | 泛指各种组件,实现bean的注入,以下三种是其衍生注解 |
@Controller | 控制器(注入服务)用于标注控制层 |
@Service | 服务(注入dao)用于标注服务层,主要用来进行业务的逻辑处理 |
@Repository | (实现dao访问)用于标注数据访问层 |
@ResponseBody
注解名 | 作用 |
---|
@ResponseBody | 可以作用在方法上或类上,表示该方法的返回结果直接写入 HTTP response body 中,而不会被解析为跳转路径。也就是不会经过视图解析器,返回什么数据就在页面输入什么数据。作用是将java对象转为json格式的数据。 |
@RestController
注解名 | 作用 |
---|
@RestController | @Controller和@ResponseBody的结合体,一般用于类,作用等于在类上面添加了@ResponseBody和@Controller |
@RequestParam、@RequestBody、@PathVariable
注解名 | 作用 |
---|
@RequestBody | 主要用来接收前端传递给后端的JSON字符串中的数据(请求体中的数据),一般都用POST方式进行提交 |
@RequestParam | 主要用于将请求参数区域的数据映射到控制层方法的参数上。required表示是否必传,默认为 true(可省略)。defaultValue可设置请求参数的默认值(可省略)。value为接收url的参数名(一般与接收参数名相同)。 |
@PathVariable | 可以将 URL 中占位符参数绑定到控制器处理方法的入参中 |
@AutoWired、@Qualifier、@Resource
注解名 | 作用 |
---|
@AutoWired | 默认按类型装配,如果发现找到多个bean,则按照name方式比对,如果还有多个,则报出异常 |
@Qualifier | 按名字注入 一般当出现两个及以上bean时,不知道要注入哪个,结合@AutoWired使用 |
@Resource | 默认按名称注入例如@Resource(name = “xiaoming”)则根据name属性注入找不到则报错,若无name属性则根据属性名称注入,如果匹配不成功则按照类型匹配匹配不成功则报错。 |