一. Spring注解发展过程
SpringBoot的自动装配依赖于注解,所以我们先来看一下注解的发展过程。
以下主要对核心注解进行说明
Spring1.0:刚刚出现注解。
@Transaction:简化了事务的操作
Spring2.0:一些配置开始被xml代替,但是还不能完全摆脱xml,主要是component-scan标签。
@Required:用在set方法上,如果加上该注解,表示在xml中必须设置属性的值,不然就会报错。
@Aspect :AOP相关的一个注解,用来标识配置类。
@Autowired,@Qualifier:依赖注入
@Component,@Service,@Controller,@Repository:主要是声明一些bean对象放入IOC中。
@RequestMapping: 声明请求对应的处理方法
Spring3.0:已经完全可以用注解代替xml文件了
@Configuration:配置类,代理xml配置文件
@ComponentScan:扫描其他注解,代理xml中的component-scan标签。
@Import:只能用在类上,主要是用来加载第三方的类。
@import(value = {XXX.class}):加载一个普通的类
@Import(MyImportSelector.class):这种主要是根据业务选择性加载一些类。
public class MyImportSelector implements ImportSelector {//继承该接口 @Override //重写selectImports方法 public String[] selectImports(AnnotationMetadata importingClassMetadata) { //返回对象对应的类型的全类路径的字符串数组 return new String[]{XXX1.class.getName(), XXX2.class.getName()}; } }