@SpringBootConfiguration 包含@Configuration注解功能
@Configuration配置类,结合@Bean能够将对象注入到Spring的IOC容器,用于配置类
@EnableAutoConfiguration: 开启自动配置,将spring和第三方库中的对象创建好,注入到容器中。类似于@Autowired
@ComponentScan: 扫描组件,指定扫描包路径
在spring Boot约定里,@ComponentScan默认扫描启动类所在的包下的所有子包(内的类)
因为springBoot基于spring的基础上的快速框架,所以spring的注解在springBoot也适合用
以下为常用注解:
-
@Bean:将方法的返回值作为一个Bean注册到容器中。通常情况下,我们需要在 Spring 容器中创建和管理对象。通过
@Bean
注解,我们可以自定义方法来返回或创建这些对象,并将它们注册为 Spring 的 Bean,使得它们可以在其他地方进行依赖注入、使用和管理。 -
@Component:基本注解,将一个类标记为spring的组件,是其余3个的父注解,用于业务类
-
@Controller:@Component的特化,用于标记控制类,处理请求与反应
-
@Repository:@Component的特化,用于标记作为访问对象的类
-
@Service:@Component的特化,用于标记服务类,业务的处理与组装
-
@Autowired:自动将容器中匹配的对象进行注入
-
@Scope:实例范围,与Bean一起修饰在方法时,为方法返回的实例的范围,与component修饰时为类实例的范围。常用的作用域范围有:
singleton(默认):单例作用域,每个容器中只存在一个共享的 Bean 实例。
prototype:原型作用域,每次请求/获取 Bean 时都会创建一个新的实例。
request:请求作用域,每次 HTTP 请求都会创建一个新的 Bean 实例。
session:会话作用域,每个用户会话都会创建一个新的 Bean 实例。
application:应用作用域,整个应用程序生命周期内只有一个 Bean 实例。
websocket:WebSocket 作用域,每个 WebSocket 连接都会创建一个新的 Bean 实例。
SpringMVC相关注解及作用:
-
@RestController:复合注解,将@Controller和@ResponseBody的功能合并,默认将方法返回的对象转换为 JSON 或 XML 格式,并作为响应体返回给客户端。
-
@ResponseBody:将方法的返回值作为响应体直接返回给客户端
-
@RequestBody:将请求体的内容自动绑定到方法的对应参数上
-
@RequestParam : Spring Framework 中的一个注解,用于从请求参数中获取值并绑定到方法参数上。