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>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
默认spring是通过type也就是类的全名进行注入的,只要找到类相同就可以注入,不需要按照名字,所以名字是多余的。也可以改为通过名字注入,需要在注解注入的时候引用名称属性。
在EJB3不同,EJB3默认是按照名称进行注入的@resource (name="xxxx")