【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 基礎篇

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章