源码中的配置与视频中不一致

源码中的配置与视频中不一致

视频中的配置

https://img1.sycdn.imooc.com//climg/6161bba5096c4b6410180563.jpg

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"

xsi:schemaLocation="http://www.springframework.org/schema/beans

    http://www.springframework.org/schema/beans/spring-beans.xsd

    http://www.springframework.org/schema/context

    http://www.springframework.org/schema/context/spring-context.xsd">

<!-- 配置整合mybatis过程 -->

<!-- 1.配置数据库相关参数properties的属性:${url} -->

此处配置与视频中的配置不一致,ignore-unresolvable="true"属性的作用是什么?

<context:property-placeholder location="classpath:jdbc.properties" ignore-unresolvable="true"/>

<context:property-placeholder location="classpath:redis.properties" ignore-unresolvable="true"/>

<!-- <bean class="com.imooc.o2o.util.EncryptPropertyPlaceholderConfigurer">-->

<!-- <property name="locations">-->

<!-- <list>-->

<!-- <value>classpath:jdbc.properties</value>-->

<!-- <value>classpath:redis.properties</value>-->

<!-- </list>-->

<!-- </property>-->

<!-- <property name="fileEncoding" value="UTF-8" />-->

<!-- </bean>-->

<!-- 2.数据库连接池 -->

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">

<!--配置连接池属性-->

<property name="driverClass" value="${jdbc.driver}"/>

        <property name="jdbcUrl" value="${jdbc.url}"/>

        <property name="user" value="${jdbc.username}"/>

        <property name="password" value="${jdbc.password}"/>


<!-- c3p0连接池的私有属性 -->

<property name="maxPoolSize" value="40" />

<property name="minPoolSize" value="10" />

<!-- 关闭连接后不自动commit -->

<property name="autoCommitOnClose" value="false" />

<!-- 获取连接超时时间 -->

<property name="checkoutTimeout" value="10000" />

<!-- 当获取连接失败重试次数 -->

<property name="acquireRetryAttempts" value="2" />

</bean>


<!-- 3.配置SqlSessionFactory对象 -->

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<!-- 注入数据库连接池 -->

<property name="dataSource" ref="dataSource" />

<!-- 配置MyBaties全局配置文件:mybatis-config.xml -->

<property name="configLocation" value="classpath:mybatis-config.xml" />

<!-- 扫描entity包 使用别名 -->

<property name="typeAliasesPackage" value="com.imooc.o2o.entity" />

<!-- 扫描sql配置文件:mapper需要的xml文件 -->

<property name="mapperLocations" value="classpath:mapper/*.xml" />

</bean>


<!-- 4.配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 -->

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

<!-- 注入sqlSessionFactory -->

<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />

<!-- 给出需要扫描Dao接口包 -->

<property name="basePackage" value="com.imooc.o2o.dao" />

</bean>

</beans>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿园 2021-10-10 16:12:10

同学你好,这里是对源码进行了优化,上面这种写法是通过context:property-placeholder加载配置文件jdbc/redis.properties中的内容,上面的配置和下面配置等价,是对下面配置的简化,同学使用哪种都是可以的

https://img1.sycdn.imooc.com//climg/61629fe009e606af08280567.jpg

祝学习愉快~

  • 提问者 视线模糊 #1

    ignore-unresolvable="true"属性的作用是什么?

    2021-10-10 18:19:05
  • 好帮手慕阿园 回复 提问者 视线模糊 #2

    同学你好,使用这种方式,如果在xml中使用${xx}获取属性时,Spring会在第一个读取到的属性文件中去找,如果没有就直接抛出异常,而不会继续去第二个属性文件中找,增加ignore-unresolvable= “true”,表示使解析机制先不抛出异常的情况下继续加载其他配置文件

    祝学习愉快~

    2021-10-10 18:31:20
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师