Michael Simons ad545fc490 Update to latest Spring Data Commons and Spring Boot RCs.
This commit closes #40 by updating Spring Data Commons to RC3 and Spring Boot to M6. It also drops management of Kotlin and Project Reactor dependencies. Instead, it relies on the management done by Spring Data Commons in RC3.

Furthermore, it restores convergences between the dependencies of Spring Data R2DBC and R2DBC-H2 by using R2DBC’s bom as well.
2019-09-16 15:49:13 +02:00
2019-04-02 09:19:26 +02:00
2019-09-11 13:37:03 +02:00
2019-07-19 23:58:43 +02:00
2019-04-02 09:19:26 +02:00
2019-04-02 09:19:26 +02:00

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
= Spring Data Neo4j⚡RX
:sectanchors:

// tag::versions[]
:spring-data-neo4j-rx_version: 1.0.0-beta01
:groupId: org.neo4j.springframework.data
:artifactId: spring-data-neo4j-rx
:artifactIdStarter: spring-data-neo4j-rx-spring-boot-starter
:neo4j_version: 4.0.0-alpha09
:spring-boot_version: 2.2.0.M6
// end::versions[]

image:https://img.shields.io/maven-central/v/org.neo4j.springframework.data/spring-data-neo4j-rx.svg[Maven Central,link=http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.neo4j.springframework.data%22%20AND%20a%3A%22spring-data-neo4j-rx%22]

[abstract]
--
Spring Data Neo4j⚡RX - or in short _SDN/RX_ - is an ongoing effort to create the next generation of Spring Data Neo4j, with full reactive support and lightweight mapping.
SDN/RX will work with immutable entities, regardless whether written in Java or Kotlin.
--

The primary goal of the https://projects.spring.io/spring-data[Spring Data] project is to make it easier to build Spring-powered applications that use new data access technologies such as non-relational databases, map-reduce frameworks, and cloud based data services.

The SDN/RX project aims to provide a familiar and consistent Spring-based programming model for integrating with the https://neo4j.com/[Neo4j] Graph Database.

== Manual

For a gentle introduction and some getting started guides, please use our
link:docs/manual.adoc[Manual].

== Getting Started

Here is a quick teaser of a reactive application using Spring Data Repositories in Java, without using Spring Boot.

[source,java]
----
@Node
public class Person {
    private Long id;
    private String name;

    public Person(String name) {
        this.name = name;
    }
}

@Repository
interface PersonRepository extends ReactiveNeo4jRepository<Person, Long> {

    Flux<Person> findAllByName(String name);

    Flux<Person> findAllByNameLike(String name);
}

@Service
class MyService {

    @Autowired
    private final PersonRepository repository;

    @Transactional
    public Flux<Person> doWork() {

        Person emil = new Person("Emil");
        Person gerrit = new Person("Gerrit");
        Person michael = new Person("Michael");

        // Persist entities and relationships to graph database
        return repository.saveAll(Flux.just(emil, gerrit, michael));
    }
}

@Configuration
@EnableReactiveNeo4jRepositories
@EnableTransactionManagement
class MyConfiguration extends AbstractReactiveNeo4jConfig {

    @Bean
    public Driver driver() {
        return GraphDatabase.driver("bolt://localhost:7687", AuthTokens.basic("neo4j", "passphrase"));
    }

    @Override
    protected Collection<String> getMappingBasePackages() {
        return Collections.singletonList(Person.class.getPackage().getName());
    }
}
----

TIP: SDN/RX is not only about reactive support, all features are available in both ways: Imperative and reactive, we
     only prefer to showcase the new reactive database access support here.

=== Maven configuration

Add the Maven dependency:

[source,xml,subs="verbatim,attributes"]
----
<dependency>
	<groupId>{groupId}</groupId>
	<artifactId>{artifactId}</artifactId>
	<version>{spring-data-neo4j-rx_version}</version>
</dependency>
----

Nowadays, people prefer Spring Boot and we got you covered with a starter.
Please consult our link:docs/manual.adoc[manual] for more information.
Description
No description provided
Readme 35 MiB
Languages
Java 96.4%
CSS 2.2%
AspectJ 0.8%
HTML 0.4%