Spring装配

三种方案:

自动化装配(推荐)

组件扫描:创建bean

  • @component通知Spring为其创建bean
  • @componentScan启用组件扫描,也可以使用XML启动组件扫描
  • 默认扫描范围为package,或指明包@componentScan("packagename"),也可以使用反射指定类或接口@componentScan(basePackageClasses = { .class})

自动装配:解决依赖

  • @Autowired:默认传入构造器实例化的Bean

显式配置-XML

  • 构造器注入:c-命名空间(constructor),通常用于强依赖
  • 属性注入:p-命名空间(property)
  • : ref = "String name"引用装配过的名为name的Bean 
  • : = "String name" 装配名为name的属性

显式配置-Java(优于XML)

  • @Bean
  • 若向Bean2传入其他已经@Bean注解的getBean1(),该注解会被Spring拦截,返回单例,不会构造新的Bean1
  • 若传入Bean bean1,则会每次自动创建bean1
  • 相对XML的优势1:可以在java语言允许范围类灵活配置Bean,如条件、分支等
  • 相对XML的优势2:可以享受到编译时检查、XML不可以

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值