开头
SpringBoot有以下几个重要的注解:
@SpringBootApplication:这是一个组合注解,做了标识配置、自动配置、开始扫描注解,就是
@SpringBootConfiguration(标记当前类为配置类)
@EnableAutoConfiguration(启用自动配置)
@ComponentScan(扫描注解)
这个注解用在Spring Boot的主类上,标识是个Spring Boot应用。
@EnableAutoConfiguration:允许Spring Boot自动配置注解,开启这个注解之后,Spring Boot就能根据当前类路径下的包或者类来配置Spring Bean。
@ComponentScan:组件扫描。让spring Boot扫描到@Component、@Controller、 @Service等这些注解的类,把这些类注册为Bean。
还有其他注解,如@Autowired、@Repository、@Service等,它们各自在SpringBoot中有各自的重要作用。
@Autowired,自动装配
发现找到多个相同类型的bean,那么就会按照bean的名称进行匹配。如果找不到,运行的时候就会抛出异常。
这个时候我们可以使用@Qualifier注解或者@Primary注解解决这个问题。
@Repository,Dao层
标注访问数据库层的类(Dao层)。它表示一个仓库,主要用于封装对于数据库的访问。其实现方式与@Component注解相同,只是为了明确类的作用而设立
@Service,业务层
用于标注业务层的类。它是一个特殊的@Component,用于创建一个Bean,这个Bean会被自动注入到其他类中。简单地说,@Service注解用于声明一个服务类,告诉Spring这个类是一个服务类,需要Spring进行管理。
@ComponentScan ,扫描组件
自动注册成 Spring 组件,去找 @Component、@Service、@Repository这些注解的组件
@MapperScan,扫描Mapper
如MyBatis的Mapper 接口,自动注册成为数据库的 Spring Beans。
@Override,重写方法
指定重写父类的一个方法。类去实现接口方法时,使用
@Override
注解可以帮助编译器检查是否正确地实现了这些方法,不加也没报错,但能让编译器在早期阶段捕获可能的错误,而不是等到运行时才发现。而且符合阅读、增加兼容性(也可以想兼容再加?)