Spring的自动检测机制依赖于这些特定的注解来识别哪些类应该被实例化并管理。这些注解允许Spring知道一个类的角色和目的,并根据这些信息进行相应的处理。
@Controller
告诉Spring这个类是一个控制器,应该处理Web请求;
@Service
表示它包含业务逻辑;
@Repository
表示它用于数据访问层;
@Component
则是一个泛用的组件注解,所有这些注解都会让Spring自动地将标注的类注册为应用上下文中的Bean。
只有标注了这些上面那注解这个类才会在ioc容器中实例化。
@Autowired
:Spring的自动装配注解。使用它可以自动注入Spring管理的Bean。当Spring创建一个类的实例时,它会尝试通过类型、名称等来解析这些被@Autowired
注解的属性依赖,并自动提供它们。(装配,注入这些可以理解为给一个类的成员赋值,由spring boot自动完成)
@ResponseBody
:这个注解用于指示控制器方法的返回值应该直接作为HTTP响应正文(Response Body)发送给客户端。Spring会使用相应的转换器将返回的对象转换为JSON或XML等格式。用于controller层的方法上。
@GetMapping("/test")
:这个组合注解是一个快捷方式,它用于将HTTP GET请求映射到特定的处理器方法。它是@RequestMapping(method = RequestMethod.GET)
的缩写,"/test"
表示这个方法会响应匹配/test
路径的GET请求。用于controller层的方法上。
@SpringBootApplication
:这是Spring Boot项目的核心注解,通常用于主应用程序类。它包括@Configuration
、@EnableAutoConfiguration
、@ComponentScan
三个注解,分别用于定义配置类、开启自动配置和扫描包。
@MapperScan
:这个注解指定了MyBatis的Mapper接口所在的包,这样MyBatis知道在哪里寻找这些接口,并创建它们的代理实现。basePackages
属性定义了Mapper接口的位置。