美文网首页
SpringMVC——IOC用法总结

SpringMVC——IOC用法总结

作者: jiangmo | 来源:发表于2018-02-13 20:24 被阅读308次

    引用自: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
      • 静态工厂方法:
    <bean id="car6" class="com.baobaotao.ditype.CarFactory" factory-method="createCar"/>
    
      • 实例工厂方法:
    <bean id="carFactory" class="com.baobaotao.ditype.CarFactory" />
    <bean id="car5" factory-bean="carFactory" factory-method="createHongQiCar"/>
    
    • java注解
      • @Autowired注解(与@Qualifier指定注入Bean的名称,可实现多态),可以放到属性上、构造函数上、Set方法上。默认按类型匹配注入Bean
      • @Resource(name="xxx") :一般制定名称,按名称匹配注入Bean
      • @Inject注:按类型匹配注入的Bean的,只不过它没有required属性

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

    相关文章

      网友评论

          本文标题:SpringMVC——IOC用法总结

          本文链接:https://www.haomeiwen.com/subject/tlfqtftx.html