Статьи

Ведение журнала с помощью Spring JDBC и Craftsman Spy

Было очень интересно, когда я использовал рамки от Craftsman. Эта платформа очень полезна для ведения журнала JDBC.

Craftsman Spy — это открытый и бесплатный фреймворк для ведения журнала JDBC, это реализация драйвера JDBC, вы можете скачать его с  http://zer0.free.fr/craftsman/spy.php , а также связать его в своем локальном репозитории для Maven: как это работает? Я объясню это в моей следующей статье.

Каковы преимущества мастера Spy?

Шпионский журнал регистрирует все соединения и обработку SQL с выполненным затраченным временем, все хранимые процедуры с аргументами, все пакетные обработки и наборы результатов. Craftsman SPY Framework очень полезен для всех JunitTests, потому что вы видите, что работает под крышей и все скрытые процессы. Вы не можете найти все эти возможности в Spring JDBC Framework, жалко!

Как Spring-JDBC работает без Spy Framework?

Вы можете использовать стандартный JDBCTemplate из Spring, как показано в следующей конфигурации, которую я взял из Spring Data для доступа к JDBC:

<?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-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="corporateEventDao" class="com.example.JdbcCorporateEventDao">
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<context:property-placeholder location="jdbc.properties"/> 
</beans> 

 

 И теперь вы можете работать с источником данных следующим образом:

public class JdbcCorporateEventDao implements CorporateEventDao {
   private JdbcTemplate jdbcTemplate;
   public void setDataSource(DataSource dataSource) {
       this.jdbcTemplate = new JdbcTemplate(dataSource);
   } }


Как Spring-JDBC работает со средой Spy

Связать шпион Craftsman и среду Spring JDBC очень просто. Вы должны только связать загрузку JAR-файлов SPY с  http://zer0.free.fr/craftsman/spy.php  или использовать Maven для получения Jars из вашего локального репозитория. Во-вторых, вы должны изменить только конфигурацию Spring-JDBC:

  1. Измените имя драйвераClassName на craftsman.spy.SpyDriver
  2. И вы также должны изменить URL-адрес для способных Spy Framework

Как это:

Перед:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/></bean> 

После:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="craftsman.spy.SpyDriver"
<property name="url" value="jdbc:spy:mysql://server.com:5000/database"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/> </bean>

 

Надеюсь это был полезный пост.