zoukankan      html  css  js  c++  java
  • Spring Ioc--Bean装配

    继前一篇IoC概述、Spring容器总结,接下来总结下Bean的装配过程。

    要使引用程序中的Spring容器成功启动,需要同时具备以下3个条件:

    1、Spring框架的类包,放在应用程序的类路径下。

    2、应用程序为Spring提供完备的Bean配置信息。

    3、Bean的类,都放到应用程序类路径下。

    Spring启动时读取应用程序提供的Bean配信息,并在Spring容器中生成一份相应的Bean配置注册表,然后程序根据这张注册表实例化bean,装配好Bean的额依赖关系,为上层应用提供准备就绪的运行环境。

    XML配置

    一、Bean基本配置

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
     4     xsi:schemaLocation="http://www.springframework.org/schema/beans 
     5        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
     6     <bean id="car" class="com.smart.Car"
     7          init-method="myInit"
     8          destroy-method="myDestory"
     9          p:brand="红旗CA72"
    10          p:maxSpeed="200" 
    11          />  
    12 
    13 </beans>

    二、依赖注入

    属性注入(灵活性高,常用)

    构造函数注入

    基于注解的配置

    使用注解定义Bean

    不管是XML还是注解,它们都是表达Bean定义的载体,其实质都是为Spring容器提供Bean的定义信息。

    表现形式上是将XML定义的东西通过注解进行描述。Spring2.0开始引入基于注解的配置方式,在3.1时得到了进一步完善。

    通过前面说到,Spring容器启动的三大要件是:Bean定义信息、Bean实现类以及Spring本身。如果采用XML文件的配置,Bean定义信息和类本身是分离的。而采用基于注解的配置方式,Bean定义信息通过在Bean实现类上标注注解实现。

    @Compoent:Spring容器自动将POJO转换为容器管理的Bean

    以下三个功能和@Compoent等效的注解:

    1、@Repository:用于对DAO实现类进行标注

    2、@Service:用于对Service实现类进行标注

    3、@Controller:用于对Controller实现类进行标注

    基于Java类的配置

    不经常使用

    总结

    三种配置方式很难说孰优孰劣,各种不同的方式都有不同的引用场景,建议进一步了解。

    XML:1、Bean类类源于第三方类库,如Database、JdbcTemple等,因无法再类中进行注解。

       2、命名空间的配置,如aop、context等,只能采用基于XML配置。

    注解:Bean的实现类是当前开发的,可以直接在Java类中使用注解。

    Java类:基于Java类配置的优势在于可以通过代码方式控制Bean的初始化的整体逻辑。所以如果实例化Bean的逻辑比较复杂,可以使用此方法。

  • 相关阅读:
    asp.net2.0系列视频教程
    Android入门教程(三十一)SQLite分页读取(转)
    sql语句大全
    判断是不是ie浏览器 加上ie11
    字节面试题
    泛型
    线程和
    sysbench工具
    自定义集合类
    类型通配符
  • 原文地址:https://www.cnblogs.com/damonzh/p/4704005.html
Copyright © 2011-2022 走看看