Class AbstractNeo4jConfig
java.lang.Object
org.springframework.data.neo4j.config.AbstractNeo4jConfig
@Configuration
@API(status=STABLE,
since="6.0")
public abstract class AbstractNeo4jConfig
extends Object
Base class for imperative SDN configuration using JavaConfig. This can be included in all scenarios in which Spring
Boot is not an option.
- Since:
- 6.0
- Author:
- Michael J. Simons, Gerrit Meier
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionorg.neo4j.cypherdsl.core.renderer.Configuration
protected DatabaseSelectionProvider
Configures the database selection provider.abstract org.neo4j.driver.Driver
driver()
The driver to be used for interacting with Neo4j.Scans the mapping base package for classes annotated withNode
.protected Collection<String>
Returns the base packages to scan for Neo4j mapped entities at startup.neo4jClient
(org.neo4j.driver.Driver driver, DatabaseSelectionProvider databaseSelectionProvider) The driver used here should be the driver resulting fromdriver()
, which is the default.neo4jMappingContext
(Neo4jConversions neo4JConversions) Creates aNeo4jMappingContext
equipped with entity classes scanned from the mapping base package.neo4jTemplate
(Neo4jClient neo4jClient, Neo4jMappingContext mappingContext) scanForEntities
(String basePackage) Deprecated.transactionManager
(org.neo4j.driver.Driver driver, DatabaseSelectionProvider databaseSelectionProvider) Provides aPlatformTransactionManager
for Neo4j based on the driver resulting fromdriver()
.
-
Constructor Details
-
AbstractNeo4jConfig
public AbstractNeo4jConfig()
-
-
Method Details
-
driver
public abstract org.neo4j.driver.Driver driver()The driver to be used for interacting with Neo4j.- Returns:
- the Neo4j Java driver instance to work with.
-
neo4jClient
@Bean("neo4jClient") public Neo4jClient neo4jClient(org.neo4j.driver.Driver driver, DatabaseSelectionProvider databaseSelectionProvider) The driver used here should be the driver resulting fromdriver()
, which is the default.- Parameters:
driver
- The driver to connect with.- Returns:
- A imperative Neo4j client.
-
neo4jTemplate
@Bean("neo4jTemplate") public Neo4jOperations neo4jTemplate(Neo4jClient neo4jClient, Neo4jMappingContext mappingContext) -
transactionManager
@Bean("transactionManager") public PlatformTransactionManager transactionManager(org.neo4j.driver.Driver driver, DatabaseSelectionProvider databaseSelectionProvider) Provides aPlatformTransactionManager
for Neo4j based on the driver resulting fromdriver()
.- Parameters:
driver
- The driver to synchronize againstdatabaseSelectionProvider
- The configured database selection provider- Returns:
- A platform transaction manager
-
bookmarkManager
-
databaseSelectionProvider
Configures the database selection provider.- Returns:
- The default database name provider, defaulting to the default database on Neo4j 4.0 and on no default on Neo4j 3.5 and prior.
-
neo4jConversions
-
cypherDslConfiguration
-
neo4jMappingContext
@Bean public Neo4jMappingContext neo4jMappingContext(Neo4jConversions neo4JConversions) throws ClassNotFoundException Creates aNeo4jMappingContext
equipped with entity classes scanned from the mapping base package.- Returns:
- A new
Neo4jMappingContext
with initial classes to scan for entities set. - Throws:
ClassNotFoundException
- See Also:
-
getMappingBasePackages
Returns the base packages to scan for Neo4j mapped entities at startup. Will return the package name of the configuration class' (the concrete class, not this one here) by default. So if you have acom.acme.AppConfig
extendingNeo4jConfigurationSupport
the base package will be consideredcom.acme
unless the method is overridden to implement alternate behavior.- Returns:
- the base packages to scan for mapped
Node
classes or an empty collection to not enable scanning for entities.
-
getInitialEntitySet
Scans the mapping base package for classes annotated withNode
. By default, it scans for entities in all packages returned bygetMappingBasePackages()
.- Returns:
- initial set of domain classes
- Throws:
ClassNotFoundException
- if the given class cannot be found in the class path.- See Also:
-
scanForEntities
@Deprecated protected final Set<Class<?>> scanForEntities(String basePackage) throws ClassNotFoundException Deprecated.since 6.0.2 UseNeo4jEntityScanner
instead.Scans the given base package for entities, i.e. Neo4j specific types annotated withNode
.- Parameters:
basePackage
- must not be null.- Returns:
- found entities in the package to scan.
- Throws:
ClassNotFoundException
- if the given class cannot be loaded by the class loader.
-
Neo4jEntityScanner
instead.