就我们日常使用来看
@Value @PropertySource
@Controller @Service @Repository
@Autowired @Resource @Inject @Qualifar @Primary
1.关于配置文件的读取
在configuration bean里面设置@PropertySource( name=”设置在environment中配置的名字 “ ,value=(”指定application.yaml文件“))
怎么取值呢? 可以通过@Value来获取配置文件传到environment中的值
2.资源的互相引用
@AutoWired /@Resource /@Inject 我们使用他们的目的 或者说他们的功能都是一致的,从spring容器中获取对应的实例
Autowired | 可以和 @primary 配合使用表示优先选择标注的类实例 / 和@Qualifire 配合使用指定使用哪一个id对应的实例 | 可以为空(require =false),在spring容器中不存在对应实例的时候不会报错 / | Spring 内置 |
Resource | 可以指定使用资源的id | 不能为空,在找不到资源的情况下会报错 | JDK jsr-250 |
Inject | 类似Autowired | 不能为空,在找不到资源的情况下会报错 | JDK提供 - jsr-330 |