SpringMVC——IOC用法总结

引用自:http://blog.csdn.net/javazejian/article/details/54561302 ,专业

《Spring入门经典》这本书无论对于初学者或者有经验的工程师还是很值一看的

基本思想

IOC容器之前都是程序员手动的进行对象的创建和管理,如:

Class1 bean = new Class1();

所谓注入,就是这个操作交给IOC完成了,其实仔细想想这个操作可以分解为两大部分:

  • 创建对象实例:new Class1()
  • 赋值绑定:bean = new Class1()

同理,IOC容器的使用也可以理解为2大方面:

  • 标记哪些Bean需要被IOC容器管理,即可被IOC容器识别初始化,这个步骤我们简称“new”
  • 依赖绑定,即将加载的各个Bean赋值在哪些对象引用上,这个步骤我们简称“=”

new

有两种形式都可将Bean的生命交给了IOC容器来new:

  • xml(定义需要自动加载初始化的Bean、以及依赖关系)
  • java注解(component-scan标签默认情况下自动扫描指定路径下的包(含所有子包),将带有@Component、@Repository、@Service、@Controller标签的类自动注册到spring容器。)

=

有两种形式都可将Bean的赋值绑定交给了IOC容器来=:

  • xml(定义依赖关系)
    • Set方法:property
    • 构造函数:constructor-arg
    • 静态工厂方法:

    • 实例工厂方法:


  • java注解
    • @Autowired注解(与@Qualifier指定注入Bean的名称,可实现多态),可以放到属性上、构造函数上、Set方法上。默认按类型匹配注入Bean
    • @Resource(name="xxx") :一般制定名称,按名称匹配注入Bean
    • @Inject注:按类型匹配注入的Bean的,只不过它没有required属性

可见不管是@Resource还是@Inject注解,其功能都没有@Autowired丰富,因此除非必须,大可不必在乎这两个注解。

你可能感兴趣的:(SpringMVC——IOC用法总结)