spring bean中的properties元素内的ref和value的区别;* 和 ** 的区别

时间:2023-03-10 01:15:38
spring bean中的properties元素内的ref和value的区别;* 和 ** 的区别

spring bean中的properties元素内的ref和value的区别

至于使用哪个是依据你所用的属性类型决定的。

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:mybatis.xml"/>
</bean>
  • ref:引用的这个对象(可引用其他的bean对象)

  • spring管理mybatis的单个mapper,用的是ref

      spring容器会在引用后进行验证,验证当前的xml是否存在引用的bean

ref="dataSource"就是引用dataSource的bean

  • value:引用这个对象名字的字符串;直接设置一个值(赋一些简单类型的值)

  • spring 批量扫描mybatis的mapper,使用value

      spring会在容器启动,实例化bean时进行验证

* 和 ** 的区别

 <aop:config>
<aop:pointcut id="myPointcut" expression="execution(* cn.itcast.mybatis.service.*.*(..))" />
<!--将定义好的事务处理策略应用到上述的切入点 -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="myPointcut" />
</aop:config>
  • pointcut元素定义一个切入点,execution中的第一个 * 号用以匹配方法的返回类型,

    这里 * 号表明匹配所有返回类型。

  • com.abc.dao..(..)表明匹配cn.itcast.mybatis.service包下的所有类的所有的

    方法