SpringBoot---配置文件

本文介绍如何在Spring Boot项目中整合MyBatis,包括通过配置文件和Java配置类两种方式实现数据源、SqlSessionFactory及Mapper接口的配置,并解决启动过程中可能遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.配置文件applicationContext.xml,让boot启动时,加载配置xml。@ImportResource,让boot主动加载我们的bean。例如:

@ImportResource(locations = "classpath*:/applicationContext.xml")

其实用boot,可以不用在项目工程里加载spring的上下文的,这里是为了方便说明,我手动建立了spring的上下文。如果不配置启动会报错,这个跟Spring Boot的启动机制有关,boot在启动启动类以后,才会根据类文件间的依赖去加载spring的bean类,boot本身并不会自动去读取xml文件,所以boot是不知道我们在xml里注入的bean的,所以肯定找不到datasource和mybatis配置,所以,我们要在StartApp类里增加一个注解@@ImportResource,让boot主动加载我们的bean。

如果在applicationContext.xml中配置了mybatis,这时启动还是会报错,因为boot本着自动配置的原则,会帮你去加载mybatias的自动配置类,但自动配置类又是用的包内自有的mapper,导致找不到包,这时我们排除一下自动配置:

@SpringBootApplication(exclude = MybatisAutoConfiguration.class)

application.context.xml如下

<!-- 数据源配置, 使用Tomcat JDBC连接池 --> <bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close"> <!-- Connection Info --> <property name="driverClassName" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <!-- Connection Pooling Info --> <property name="maxActive" value="10" /> <property name="maxIdle" value="50" /> <property name="minIdle" value="0" /> <property name="defaultAutoCommit" value="false" /> </bean> <!-- MyBatis配置 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 --> <property name="typeAliasesPackage" value="com.hjf.boot.api.domain" /> <!-- 显式指定Mapper文件位置 --> <property name="mapperLocations" value="classpath:/mybatis/*Mapper.xml" /> </bean> <!-- 扫描basePackage下所有以@MyBatisRepository标识的 接口--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.hjf.boot.demo.boot_mybatis.domain" /> <property name="annotationClass" value="com.hjf.boot.demo.boot_mybatis.dao.Mapper"/> </bean>



2.通过class来进行配置文件,也就是写一个java的配置代码

方法:

第1步:建立配置类文件config。这里需要三个类文件: 
DataSourceConfig —>datasource源配置 
MyBatisConfig —> 配置sqlSessionFactory 
MyBatisMapperScannerConfig —> 配置mapperScannerConfigurer 
这里需要说明一下:最后一个配置因为依赖前两个,需要最后一个加载,否则会报错。

具体代码可以参考。http://blog.csdn.net/mickjoust/article/details/51646658



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值