Пружинная загрузка с транзакционной конфигурацией

1

Я новичок в Spring Boot. Я пытался использовать Spring Boot с hibernate и mysql DB. Я пытался найти, как использовать весеннюю транзакционную конфигурацию, используя весеннюю загрузку. В обычном весеннем приложении, где у вас есть xml файлы, вы определяете транзакцию с помощью aop, как показано ниже

<!-- this is the service object that we want to make transactional -->
<bean id="fooService" class="x.y.service.DefaultFooService"/>
<!--the transactional advice (what 'happens'; see the
<aop:advisor/>bean below)-->
<tx:advice id="txAdvice" transaction-manager="txManager">
     <!--the transactional semantics...-->
     <tx:attributes>
          <!--all methods starting with 'get' are read-only-->
          <tx:method name="get*" read-only="true"/>
          <!--other methods use the default transaction settings (see below)-->
          <tx:method name="*"/>
     </tx:attributes>
</tx:advice>
<!--ensure that the above transactional advice runs for any execution
of an operation defined by the FooService interface-->
<aop:config>
     <aop:pointcut id="fooServiceOperation" expression="execution(* x.y.service.FooService.*(..))"/>
     <aop:advisor advice-ref="txAdvice" pointcut-ref="fooServiceOperation"/>
</aop:config>
<!--don't forget the DataSource-->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
     <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
     <property name="url" value="jdbc:oracle:thin:@rj-t42:1521:elvis"/>
     <property name="username" value="scott"/>
     <property name="password" value="tiger"/>
</bean>
<!--similarly, don't forget the PlatformTransactionManager-->
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
     <property name="dataSource" ref="dataSource"/>
</bean>

Используя вышеприведенную конфигурацию, вы можете попросить Spring приложить транзакцию только для чтения, чтобы получить только метод * и транзакцию по умолчанию ко всем другим методам.

Как вы это достигаете (определяя транзакцию по методам с использованием подстановочных знаков) с помощью Spring Boot?

Пробовал поиск в google, но ничего не нашел. :(

Пожалуйста, направляйте меня к решению или к любой существующей ссылке.

благодаря

  • 1
    @GoFaster: std::function - это тяжелая, дорогая обертка, которая выполняет множество операций внутреннего копирования и виртуальной отправки. За эту цену вы получаете единый интерфейс . Я сомневаюсь, что вам это нужно, или что вы должны заплатить эту цену.
  • 1
    @GoFaster: std::function - это тяжелая, дорогая обертка, которая выполняет множество операций внутреннего копирования и виртуальной отправки. За эту цену вы получаете единый интерфейс . Я сомневаюсь, что вам это нужно, или что вы должны заплатить эту цену.
Показать ещё 1 комментарий
Теги:
spring-boot
spring
transactions

2 ответа

0
Лучший ответ

Как отметил М. Дейн, если вы не можете пропустить конфигурацию xml, вы можете использовать ее с @ImportResource аннотации @ImportResource и предоставить свое имя файла xml. Xml должен быть доступен в classpath.

0

Из справочного документа вы можете сделать это

@Configuration
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class MyConfiguration {
}

В этом случае вы можете полностью отключить конфигурацию.

Ссылка здесь.

http://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-auto-configuration.html

  • 1
    Эй, Арун, мой вопрос был о том, как применить конфигурацию XML для весенней загрузки. Я сталкивался с этим параметром исключения конкретной конфигурации, как вы объяснили в своем ответе, но затем я пытался найти способ предоставить конфигурацию xml, если я исключу конфигурацию по умолчанию или application.properties. Ответ Deinum - это то, что я искал. Также прочитайте мой ответ на комментарий deinum о поведении весенней загрузки по умолчанию.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню