1 - Configuring ReactiveTransactionManager

@Configuration
public class TransactionConfig {
	@Bean
	public ReactiveTransactionManager reactiveTransactionManager() {
		// see TransactionManager
	}
}

see: Java - Spring - TransactionManager (PlatformTransactionManager - ReactiveTransactionManager)

2 - Configuring & Using  TransactionalOperator

public class SimpleService {

    private final TransactionalOperator transactionalOperator;

    public SimpleService(ReactiveTransactionManager transactionManager) {
		// Method 1
        this.transactionOperator = TransactionalOperator.create(transactionManager);
		
		// Method 2
		DefaultTransactionDefinition definition = new DefaultTransactionDefinition();
        // the transaction settings can be set here explicitly if so desired
        definition.setIsolationLevel(TransactionDefinition.ISOLATION_READ_UNCOMMITTED);
        definition.setTimeout(30); // 30 seconds
        // and so forth...
        this.transactionalOperator = TransactionalOperator.create(transactionManager, definition);
    }

    public Mono<Object> someServiceMethod() {
        // the code in this method runs in a transactional context
        Mono<Object> update = updateOperation1();
        return update.then(resultOfUpdateOperation2).as(transactionalOperator::transactional);
    }
}

Resources