【Spring 实践篇一】spring集成beetlSql

这几天乐农的项目又转接到了我们的手上,因为项目太多,真心是感觉哪里需要哪里搬啊,不过这其中确实收获很多。
感觉好久都没接触spring了,全新全意享受在SpringBoot配置好的世界中,难以自拔。
乐农目前使用的框架是springMVC+spring+mybatis.上次优化把简单的web项目变成了maven集成的项目,这次因为已经习惯了beetlSQL的高效率开发,所以决定在spring中集成beetlSQL,提升开发效率。
在SpringBoot中如何集成beetlSQL,见如下链接:
springboot集成beetlSQL
beetlSQL5分钟搭建:
搭建
本篇则重点针对spring堆beetlSQL进行一下配置:
1)maven依赖

		<dependency>
			<groupId>com.ibeetl</groupId>
			<artifactId>beetlsql</artifactId>
			<version>2.10.27</version>
		</dependency>

2)通过spring配置文件集成beetlSQL

<bean id="sqlManagerFactoryBean" class="org.beetl.sql.ext.spring4.SqlManagerFactoryBean">
		<!--mysql data source-->
		<property name="cs" >
			<bean  class="org.beetl.sql.ext.spring4.BeetlSqlDataSource">
				<property name="masterSource" ref="da"></property>
			</bean>
		</property>
		<!--格式-->
		<property name="dbStyle">
			<bean class="org.beetl.sql.core.db.MySqlStyle"/>
		</property>
		<!--sql文件路径-->
		<property name="sqlLoader">
			<bean class="org.beetl.sql.core.ClasspathLoader">
				<property name="sqlRoot" value="/sql"></property>
			</bean>
		</property>
		<!--开启驼峰-->
		<property name="nc">
			<bean class="org.beetl.sql.core.UnderlinedNameConversion"/>
		</property>
		<!--创建一个SQLManager,DebugInterceptor 不是必须的,但可以通过它查看sql执行情况-->
		<property name="interceptors">
			<list>
				<bean class="org.beetl.sql.ext.DebugInterceptor"></bean>
			</list>
		</property>
	</bean>

以上两步其实beetlSQL已经完工,但是此刻是不能运行的,因为类名查找不到啊。错误如下:

org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.lenongshe.dao.TstMemberDao' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

截图如下:
error
路径找不到,所以使用spring,相比SpringBoot而言,这些路径什么的都得自己配置了。
3)扫描配置

<!--扫描配置,根据配置的信息进行扫描-->
<bean name="beetlSqlScannerConfigurer" class="org.beetl.sql.ext.spring4.BeetlSqlScannerConfigurer">
		<!-- 哪些类可以自动注入 -->
		<property name="basePackage" value="com.lenongshe.dao"/>
		<!-- 通过类后缀 来自动注入Dao -->
		<property name="daoSuffix" value="Dao"/>
		<property name="sqlManagerFactoryBeanName" value="sqlManagerFactoryBean"/>
	</bean>

类注入,然后再启动,则问题得到解决。
4)借用beetlSQL API中 template查询进行测试
service代码:

public TstMerchants getMerchants(){
		TstMerchants tstMerchants =new TstMerchants();
		tstMerchants.setMerchantsId(1);
		return tstMerchantsDao.templateOne(tstMerchants);
	}

测试完工,应用正常。
相关链接:
【Spring 基础篇 annotation+aspectj实现AOP】Spring 基础篇
【Spring 基础篇 属性注入与属性编辑器】Spring 基础篇
【Spring 基础篇 IoC容器的两种注入方式】Spring 基础篇
【Spring 为什么使用Spring?】Spring 基础篇

posted on 2018-10-10 10:33  huohuoL  阅读(340)  评论(0编辑  收藏  举报

导航