编程开发 > JAVA > 文章内容

java基础知识总结(191)

2016-10-11编辑:ljnbset

1.DI 依赖注入

  在Spring框架中,两个组件对象之间具有依赖关系(使用和被使用),依赖注入技术就是将被使用者对象给使用者对象传进去.

  *1)setter方式注入(推荐)

     a.在使用者中,定义"接口类型"的变量和setter方法

     b.在spring容器配置中,添加<:property name="属性" ref="要注入的对象名">

  2)构造方式注入

    a.在使用者中,定义"接口类型"的变量和带参数的构造方法

    b.在spring容器配置中,添加

*2.IOC

  IOC Inversion Of Controll 反向控制,控制转移

  在Spring中利用DI技术,实现了IOC机制,将两个组件解耦.

  控制权:可以指定调用关系,可以创建对象,可以管理和释放对象.

  一般编程,使用者具有控制权,可以指定调用哪个组件,负责创建对象这些工作;但是基于Spring框架之后,使用者控制权转移到了Spring容器,由Spring容器负责这些工作.

   采用了IOC之后,如果底层组件(DAO)发生替换,只要修改Spring容器的配置,不需要修改上层组件(Action),将组件进行了解耦,增强了程序结构的灵活性.

 

3.各种类型值注入的格式

   1)基本类型值的注入格式

    

         15

    

   *2)Bean对象的注入格式

    

    

   3)集合类型值的注入格式

    List,Set,Map,Properties类型注入格式

 

4.组件自动扫描

   从spring2.5开始支持,因为2.5开始基于jdk5.0,从jdk5.0开始有了注解技术.

   利用该技术,可以将指定package下的组件,自动扫描纳入到spring容器中.避免在xml中编写大量元素

   使用方法如下:

    1)在spring的xml配置中,引入context命名空间

    2)利用元素

      

    3)如果发现包中的类,类定义前面有以下注解,将纳入spring容器,id名默认采用类名(首字母小写).

       @Controller :扫描控制层组件的注解标记,例如Action

       @Service :扫描业务层组件的注解标记,例如Service

       @Repository :扫描数据访问层组件的注解标记,例如DAO

       @Component :其他组件

      如果需要自定义id名,可以采用@Controller("id自定义名")

    4)属性注入注解

      在变量定义前,使用@Resource注解标记,spring默认会采用类型匹配原则将符合的bean对象注入进来.如果按指定id名注入bean对象,可以使用

@Resource(name="bean对象的id名").

      注入还可以使用@Autowired,如果需要注入指定名的bean对象.

         @Autowired

         @Qualifier("hibernateUserDAO")

     注意:setter方法可以不写,将来spring自动生成.
java基础知识总结(190)

热点推荐

登录注册
触屏版电脑版网站地图