开发者社区> 问答> 正文

spring的配置中有些配置没有id或者name属性,spring是如何注入的?

spring的配置中有些配置没有id或者name属性,spring是如何注入的?

如下配置:这些配置都只有class属性,没有id属性,不是说DI都是根据id或者name来注入相应的对象的吗?而如下配置完全没有id属性,我想知道spring如何完成注入的?

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" p:order="1">
    <property name="interceptors" ref="localeChangeInterceptor" />
</bean>
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" p:order="2">
    <property name="interceptors" ref="localeChangeInterceptor" />
</bean>
<!--
    - This bean resolves specific types of exceptions to corresponding logical - view names for error views. The default
    behaviour of DispatcherServlet - is to propagate all exceptions to the servlet container: this will happen - here with
    all other types of exceptions.
-->
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
    <!--property name="defaultErrorView" value="uncaughtExceptionView"/-->
    <property name="exceptionMappings">
        <props>
            <prop key="org.springframework.dao.DataAccessException">dataAccessFailureView</prop>
            <prop key="org.springframework.transaction.TransactionException">dataAccessFailureView</prop>
        </props>
    </property>
</bean>

展开
收起
a123456678 2016-03-12 18:23:52 2372 0
1 条回答
写回答
取消 提交回答
  • 默认spring是通过type也就是类的全名进行注入的,只要找到类相同就可以注入,不需要按照名字,所以名字是多余的。也可以改为通过名字注入,需要在注解注入的时候引用名称属性。

    在EJB3不同,EJB3默认是按照名称进行注入的@resource (name="xxxx")

    2019-07-17 19:01:22
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多