`
fanjf
  • 浏览: 296881 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

spring依赖关系配置

 
阅读更多

依赖注入--如果A依赖于B,则B实例不再由A负责生成,而有容器负责生成,并注入给A实例,因此称为依赖注入,也称为控制反转。
  
   配置依赖
     根据注入方式的不同,

bean的依赖注入通常表现为如下两种形式:
        1,属性:通过property属性来指定对应的设值注入。
        2,构造器参数:通过constructor-arg属性来指定对应的构造注入。
   在Spring在实例化BeanFactory时,通常会校验BeanFactory中的每一个Bean的配置。

      这些校验包括:
        1.bean引用的合作者指向一个合法的bean.
        2.对于被设置为pre-instantiated的bean的singleton行为,Spring会在创建BeanFactory时,同时实例化bean.实例化bean时,也会将它所依赖的bean一起实例化。


        此外,BeanFactory与ApplicationContext实例化容器中的bean的时机不同:前者在程序需要bean实例时才创建Bean;而后者在加载ApplicationContext实例时,会自动实例化容器中的全部bean.
        ApplicationContext是默认预实例化singleton bean。ApplicationContext实例化过程比BeanFactory时间和内存占用率大,但可以在ApplicationContext创建时就检验出配置错误。当然可以通过lazy-load属性为“true”来改变ApplicationContext的默认行为!
        bean的依赖通常可以接受如下元素指定值:
            1.value.
            2.ref.
            3.bean.
            4.list.set.map.以及props.

A.首先来看看value元素。
        value元素用于确定字符串参数。XML文档解析器解析以String解析出这些数据,然后将这些参数由PropertyEditors完成转换(从java.lang.String类型转换为所需的参数类型)。

B.接着是ref元素
            如果需要为bean注入的属性是容器中的某个bean实例,推荐使用ref。
             ref元素通常有两个属性:
                1.bean
                2.local
     bean用于指定在不同一个xml配置文件中的bean;


     local用于指定同一个xml配置文件中的其他bean,并且local属性值只能是其他bean的id属性,让Spring在解析XML时,验证bean的名称。

 

 C.bean元素
            如果某个bean的依赖bean不想被Spring容器直接访问,则可以使用嵌套bean。
            嵌套bean只对嵌套它的外部bean有效,而Spring容器无法直接访问嵌套bean,因此嵌套bean无需id属性。
            嵌套bean的配置形式,保证嵌套bean不能被容器访问,提高了程序的内聚性。

D.list,set,map,以及props元素
            list,set,map和props元素分别用来设置类型为List,Set,Map和Properties的属性值,用来为bean注入集合值。

     map元素entry的值以及set元素的值都可以使用如下元素:
        1.vlaue:确定基本数据类型值或字符串类型值。
        2.ref:确定另外一个bean为属性值。
        3.bean:确定一个嵌套bean为属性值。
        4.list,set,map,以及props:确定集合值为属性值。

分享到:
评论

相关推荐

    Spring系列之依赖注入的三种方式.docx

    对于spring配置一个bean时,如果需要给该bean提供一些初始化参数,则需要通过依赖注入方式,所谓的 依赖注入就是通过spring将bean所需要的一些参数传递到bean实例对象的过程(将依赖关系注入到对象中) ,spring的...

    SpringBoot+SpringCloud面试题.doc

    Spring boot 是 Spring 的一套快速配置脚手架,可以基于spring boot 快速开发单个微服务,Spring Cloud是一...Spring boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring boot,属于依赖的关系。

    Spring XML配置的12个技巧

    Spring beans,依赖关系,以及服务所需要的bean都将在配置文件中予以描述,配置文件一般采用XML格式。 然而XML配置文件冗长而不易使用,在你进行一个使用了大量bean的大项目中它将变得难以阅读和控制。

    spring配置文件详解--真的蛮详细

    spring配置文件是用于指导Spring工厂进行Bean生产、依赖关系注入(装配)及Bean实例分发的"图纸"。Java EE程序员必须学会并灵活应用这份"图纸"准确地表达自己的"生产意图"。Spring配置文件是一个或多个标准的XML文档...

    Spring XML 配置扩展机制

    ... xsi:schemaLocation=...-- 提供方应用信息,用于计算依赖关系 --> <!-- 使用zk为注册中心暴露服务地址 --> <!-- 用dubbo协议在20880端口暴露服务 --> </beans>

    spring插件

    在采用Spring框架进行系统开发时,Bean的配置文件XML的书写、XML文件的内容校验及Bean之间的依赖关系查看等工作,如果能够采用合适的工具来完成,会成倍提高开发效率。 解决方法:Spring IDE是Spring官方网站推荐的...

    springframework体系结构及内部各模块jar之间的maven依赖关系

    很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下一次创建相同类型的工程时也不知道...

    详解Spring的核心机制依赖注入

    Spring把这种互相协作的关系称为依赖关系。如A组件调用B组件的方法,可称A组件依赖于B组件,依赖注入让Spring的Bean以配置文件组织在一起,而不是以硬编码的方式耦合在一起 一、理解依赖注入 依赖注入(Dependency ...

    Spring Boot应用开发框架项目旨在简化创建产品级的Spring应用和服务.rar

    自动配置:根据项目的依赖关系,自动为应用程序配置合适的默认配置。 内嵌服务器:直接运行应用程序,无需部署到外部应用服务器。 起步依赖:通过Maven或Gradle的依赖管理系统,简化项目依赖的添加和管理。 Actuator...

    Spring Boot快速搭建和部署应用程序

    开发者不需要手动管理依赖项的版本和冲突,Spring Boot会自动解决依赖关系和版本问题。 Spring Boot还提供了内置的开发服务器,如Tomcat、Jetty等,可以方便地运行和调试应用程序。开发者可以通过命令行或IDE启动...

    spring源码底层解析(1.81G)

    【课程介绍】:Spring启动时读取应用提供的Bean配置信息,在Spring容器中生成对应的Bean配置注册表,然后根据这个注册表实例化Bean,组装了Beans之间的依赖关系,为上层应用提供了一个现成的运行环境。【课程目录】...

    spring课堂笔记的相关知识

    Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理 AOP编程的支持 Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能 声明式事务的支持 只需要通过配置就可以...

    Spring Boot学习资料教程.docx

    本教程为笔者学习 Spring Boot 时写的笔记,适合没有接触过此框架的新手。...Spring MVC自动配置扩展 Spring MVC 错误处理机制定制错误页面 Servlet容器 三大组件介绍修改容器 Docker 数据访问 ...

    尚硅谷佟刚Spring4代码及PPT.rar

    代码及ppt涵盖 Spring4.0 的所有核心内容:在 Eclipse 中安装 SpringIDE 插件、IOC & DI、在 Spring 中配置 Bean、自动装配、Bean 之间的关系(依赖、继承)、Bean 的作用域、使用外部属性文件、SpEL、管理 Bean 的...

    Spring_IoC入门笔记.md

    依赖关系的管理:以后都交给spring来维护 在当前类需要用到其他类的对象时,由spring为我们提供,我们只需在配置文件中说明 依赖关系的维护:就称之为依赖注入 依赖注入: 注入方式:有三种 第一种:使用构造...

    Spring基础与快速入门

    你可以写一个配置文件(通常是xml文件),在上面定义对象的名字,是否是单例,以及设置与其他对象的依赖关系。那么在容器启动之后,这些对象就被实例化好了,你直接去用就好了,而且依赖关系也建立好了。 3 IOC:...

    高级开发spring面试题和答案.pdf

    Spring下描述依赖关系@Resource, @Autowired和@Inject的区别与联系 Spring中BeanFactory和ApplicationContext的区别 谈谈Spring IOC的理解,原理与实现? bean的生命周期,详细看上面 SpringBoot自动装配的过程的原理...

    Spring面试题含答案.pdf

    12. Spring 配置文件 13. 什么是 Spring IOC 容器? 14. IOC 的优点是什么? 15. ApplicationContext 通常的实现是什么? 16. Bean 工厂和 Application contexts 有什么区别? 17. 一个 Spring 的应用看起来象什么...

    spring-mvc代码示例+注释+文件解析(可直接运行)

    2、spring-mvc配置文件包括两部分,一个是spring传统配置文件,在代码中为“applicationContext.xml”,主要配置代码中各种bean以及依赖关系;另外一个是spring-mvc特有的配置文件,处理跳转的代理类得(相当于...

Global site tag (gtag.js) - Google Analytics