diff --git a/pom.xml b/pom.xml
index be58c82a..27cc0b44 100644
--- a/pom.xml
+++ b/pom.xml
@@ -84,7 +84,7 @@
2024.0.5
2.0.17
7.0.0-M2
- 3.0.0
+ 4.0.0-SNAPSHOT
2.1.0
1.10.1
1.14.0
diff --git a/src/main/java/org/springframework/hateoas/config/EntityLinksConfiguration.java b/src/main/java/org/springframework/hateoas/config/EntityLinksConfiguration.java
index 4ea74a32..55a7fc88 100644
--- a/src/main/java/org/springframework/hateoas/config/EntityLinksConfiguration.java
+++ b/src/main/java/org/springframework/hateoas/config/EntityLinksConfiguration.java
@@ -15,7 +15,7 @@
*/
package org.springframework.hateoas.config;
-import org.springframework.context.ApplicationContext;
+import org.springframework.beans.factory.ListableBeanFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
@@ -35,13 +35,12 @@ import org.springframework.plugin.core.support.PluginRegistryFactoryBean;
class EntityLinksConfiguration {
@Bean
- OrderAwarePluginRegistry> entityLinksPluginRegistry(ApplicationContext context) {
+ OrderAwarePluginRegistry> entityLinksPluginRegistry(ListableBeanFactory beanFactory) {
PluginRegistryFactoryBean> registry = new PluginRegistryFactoryBean<>();
- registry.setApplicationContext(context);
+ registry.setBeanFactory(beanFactory);
registry.setType(EntityLinks.class);
registry.setExclusions(new Class[] { DelegatingEntityLinks.class });
- registry.afterPropertiesSet();
return registry.getObject();
}
diff --git a/src/main/java/org/springframework/hateoas/config/HateoasConfiguration.java b/src/main/java/org/springframework/hateoas/config/HateoasConfiguration.java
index e42c9334..ff80f0ac 100644
--- a/src/main/java/org/springframework/hateoas/config/HateoasConfiguration.java
+++ b/src/main/java/org/springframework/hateoas/config/HateoasConfiguration.java
@@ -24,6 +24,7 @@ import java.util.Optional;
import java.util.Properties;
import java.util.stream.Collectors;
+import org.springframework.beans.factory.ListableBeanFactory;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.PropertiesFactoryBean;
@@ -107,13 +108,13 @@ public class HateoasConfiguration {
}
@Bean
- OrderAwarePluginRegistry relProviderPluginRegistry(ApplicationContext context) {
+ OrderAwarePluginRegistry relProviderPluginRegistry(
+ ListableBeanFactory beanFactory) {
PluginRegistryFactoryBean factory = new PluginRegistryFactoryBean<>();
- factory.setApplicationContext(context);
+ factory.setBeanFactory(beanFactory);
factory.setType(LinkRelationProvider.class);
factory.setExclusions(new Class[] { DelegatingLinkRelationProvider.class });
- factory.afterPropertiesSet();
return factory.getObject();
}
diff --git a/src/test/java/org/springframework/hateoas/server/core/DelegatingEntityLinksUnitTest.java b/src/test/java/org/springframework/hateoas/server/core/DelegatingEntityLinksUnitTest.java
index 1935ccba..e43dc437 100755
--- a/src/test/java/org/springframework/hateoas/server/core/DelegatingEntityLinksUnitTest.java
+++ b/src/test/java/org/springframework/hateoas/server/core/DelegatingEntityLinksUnitTest.java
@@ -22,7 +22,7 @@ import org.junit.jupiter.api.Test;
import org.springframework.hateoas.TestUtils;
import org.springframework.hateoas.server.EntityLinks;
import org.springframework.hateoas.server.ExposesResourceFor;
-import org.springframework.plugin.core.SimplePluginRegistry;
+import org.springframework.plugin.core.OrderAwarePluginRegistry;
import org.springframework.web.bind.annotation.RequestMapping;
/**
@@ -43,7 +43,7 @@ class DelegatingEntityLinksUnitTest extends TestUtils {
@Test
void throwsExceptionForUnsupportedClass() {
- EntityLinks links = new DelegatingEntityLinks(SimplePluginRegistry.empty());
+ EntityLinks links = new DelegatingEntityLinks(OrderAwarePluginRegistry.empty());
assertThatExceptionOfType(IllegalArgumentException.class) //
.isThrownBy(() -> links.linkFor(String.class)) //
@@ -84,7 +84,7 @@ class DelegatingEntityLinksUnitTest extends TestUtils {
}
private EntityLinks createDelegatingEntityLinks(EntityLinks target) {
- return new DelegatingEntityLinks(SimplePluginRegistry.of(target));
+ return new DelegatingEntityLinks(OrderAwarePluginRegistry.of(target));
}
@ExposesResourceFor(String.class)