Spring 装配bean的常用注解及含义

2.1 Spring配置的可选方案

1.在 XML 中进行显式配置。

2.在 Java 中进行显式配置。

3.隐式的 bean 发现机制和自动装配。

尽可能地使用自动配置的机制。显式配置越少越好。当你必须要显式配置 bean 的时候,推荐使用类型安全并且比 XML 更加强大的 JavaConfig 。最后,只有当你想要使用便利的 XML命名空间,并且在 JavaConfig 中没有同样的实现时,才应该使用 XML 。

2.2 自动化装配Bean

@ComponentScan("package_name1", "package_name2") 在指定包中搜索并自动配置bean组件,多个包名用逗号隔开,也可以不指定包名,默认扫描配置类所在包。

@ComponentScan(ClassType1, ClassType2) 在指定类类型所在包中搜索并自动配置bean组件,多个类类型用逗号隔开,也可以不指定,默认扫描配置类所在包。

@Component("name") 将类定义为组件并命名,可以不命名,默认组件id为将类名第一个字母改为小写。

@Named("name") 大多数情况下与@Component("name")相同,注解来源于 Java 依赖注入规范。

@Autowired 实现自动装配,尽可能满足依赖。

@Inject 大多数情况下与@Autowired 相同,注解来源于 Java 依赖注入规范。

@Import({ClassType1,ClassType2}) 引入另一个配置文件,可以将过长的配置文件分开写,然后用这个注解整合。

@ImportResource("xmlName") 值为字符串,xml文件路径,引入xml配置文件

@Repository:用于对 DAO 的实现类进行注解;

@Service:用于对 Service 的实现类进行注解;

@Controller:用于对 Controller 的实现类进行注解;


@Autowired和@Inject比较总结:
1、@Autowired是spring自带的,@Inject是JSR330规范实现的,@Resource是JSR250规范实现的,需要导入不同的包

2、@Autowired、@Inject用法基本一样,不同的是@Autowired有一个request属性

3、@Autowired、@Inject是默认按照类型匹配的,@Resource是按照名称匹配的

4、@Autowired如果需要按照名称匹配需要和@Qualifier一起使用,@Inject和@Name一起使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时长河

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值