`
wanxiaotao12
  • 浏览: 473684 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring 实际开发项目中, 是否要default-autowire="byName"

阅读更多

在Spring的配置文件中,加default-autowire="byName",spring会对bean的属性自动按name去寻找,
如果找到则set进去,而不必对Bean的属性进行显式的Set。


仔细想想default-autowire="byName"应该算是最差实践吧,虽然能减少配置文件的书写量,可配置文件的可读性却大打折扣,一个Bean你无法知道他有那些属性项,无法知道那些Bean与其相关,如果你碰巧修改了一个相关Bean而导致改Bean异常,估计要够你找的。


配置文件和代码一样,应该可读性强,清晰明了,一看就能明白,而default-autowire="byName"会导致配置文件几乎无法可读,你无法明白这些bean之间的相互关系!

 

总结:

1、写明依赖的bean,配置文件可读性强,清晰明了,一看就能明白,方便以后的维护和查看。

2、不写明, 配置文件不可读,无法明白bean之间的相互关系!

分享到:
评论
1 楼 vict0323 2011-08-09  
  
真的是酱紫么?求真相

相关推荐

    spring-autowire-demo.zip

    本示例"spring-autowire-demo.zip"是基于Spring 5.3.6版本,通过多个示例展示了自动装配的不同方式:default、byName、byType和constructor,帮助我们更深入理解这个功能。 首先,让我们了解什么是自动装配。自动...

    维生药业小项目 SSH简单学习项目

    default-lazy-init="false" default-autowire="byName"> <context:annotation-config/> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value=...

    SSH学习之spring

    <beans default-autowire="byName" default-lazy-init="false" default-dependency-check="none"> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name=...

    Spring考试.doc

    - Spring中有两种主要的装配模式:按类型装配(byType)和按名称装配(byName)。 - 默认情况下,Spring并不会自动装配bean,需要在配置中明确指定,例如`default-autowire="byType"`。 - `default-autowire`属性...

    Spring中自动装配的4种方式

    可以在 beans 标签中设置 default-autowire 属性为 byName、byType 等,来设置所有 bean 都进行自动装配。例如: ```xml <beans default-autowire="byName"> <!-- 在这里定义 bean --> ``` 在上面的例子中,所有 ...

    Spring集成ActiveMQ配置.docx

    default-autowire="byName"> <!-- 配置 connectionFactory --> <bean id="jmsFactory" class="org.apache.activemq.pool.PooledConnectionFactory" destroy-method="stop"> <property name="connectionFactory...

    struts2整合spring

    <beans default-autowire="byName"> <bean id="personManager" class="com.acme.PersonManager"/> ``` 这里,`personManager`是你的一个业务组件,`com.acme.PersonManager`是它的实现类。 如果你有多个Spring...

    Spring集成ActiveMQ配置

    default-autowire="byName"> <!-- 配置connectionFactory --> <bean id="jmsFactory" class="org.apache.activemq.pool.PooledConnectionFactory" destroy-method="stop"> <property name="connectionFactory...

    CRUD代码编写.pdf

    使用`default-autowire="byName"`和`default-lazy-init="true"`可以让Spring自动装配Bean,并延迟初始化。 3. **Controller层设计**: - **Struts 2的使用**:在编写Controller层时,应遵循Struts 2的最佳实践,...

    spring+ibatis+webwork框架搭配

    default-autowire="byName"> <!-- 配置数据源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc....

    JAVA定时器JAVA定时器.pdf

    * 在中不能够设置default-autowire="byName"的属性,否则后台会报org.springframework.beans.factory.BeanCreationException错误。 JAVA定时器是一种基于Quartz框架的任务调度器,用于在指定的时间执行特定的任务。...

    Spring集成ActiveMQ

    default-autowire="byName"> <!-- 配置 PooledConnectionFactory --> <bean id="jmsFactory" class="org.apache.activemq.pool.PooledConnectionFactory" destroy-method="stop"> <property name=...

    Spring3配置声明式事务[借鉴].pdf

    default-autowire="byName"> <!-- 配置 Spring 上下文的注解 --> <context:annotation-config/> <!-- 配置 DAO 类 --> <bean id="personDAO" class="impl.PersonDAOImpl"> <property name="sessionFactory" ...

    spring mvc框架下的aop例子

    default-autowire="byName"> <!-- 启用AspectJ自动代理 --> <aop:aspectj-autoproxy/> <!-- 配置切面类 --> <bean class="com.incon.framework.aop.Aop"/> ``` ### 实现 2. 接下来,创建一个名为`Aop`的...

    SpringMVC框架学习

    Spring的`default-autowire="byName"`配置极大地简化了Bean的注入过程,只需要关注Bean及其属性的命名规则。 #### 实体类与DAO层设计 在业务逻辑处理中,实体类扮演着核心角色。教程中,`Article`和`Author`两个...

    基于XML配置Spring的自动装配过程解析

    在上面的示例中,我们使用`default-autowire`属性来设置全局自动装配的方式为`byName`。在这种情况下,如果我们没有为特定的Bean组件指定自动装配的方式,那么Spring框架将使用`byName`方式来自动装配依赖关系。 四...

    spring快速上手例子

    <bean default-autowire="byName"> <!-- 配置 ArticleDaoImpl --> <bean id="articleDao" class="demo.dao.ArticleDaoImpl"> <!-- 设置SessionFactory --> <property name="sessionFactory" ref=...

    Spring.pdf

    - byName:根据属性名和Spring容器中bean的ID相同的规则进行注入。 - byType:根据属性的类型和Spring容器中某个bean的类型相同的规则进行注入。 - constructor:根据构造器参数类型和Spring容器中某个bean的类型...

Global site tag (gtag.js) - Google Analytics