feat(config): Add @ConditionalOnMissingBean annotation to service beans in configuration classes
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package de.extio.game_engine.event;
|
||||
|
||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
|
||||
@@ -19,6 +20,7 @@ public class EventsAutoConfiguration {
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
EventService eventService(final EventHandlerRegistry registry, final EventExecutor executor) {
|
||||
final EventService eventService = new EventServiceImpl(registry, executor);
|
||||
return eventService;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package de.extio.game_engine.keyboard;
|
||||
|
||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
|
||||
@@ -9,6 +10,7 @@ import org.springframework.context.annotation.Bean;
|
||||
public class KeycodeAutoConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
KeycodeRegistry keycodeRegistry() {
|
||||
return new KeycodeRegistryImpl();
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package de.extio.game_engine.module;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
|
||||
@@ -11,6 +12,7 @@ import org.springframework.context.annotation.Bean;
|
||||
public class ModuleManagerAutoConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
ModuleManager moduleManager(final List<AbstractModule> initialModules) {
|
||||
return new ModuleManagerImpl(initialModules);
|
||||
}
|
||||
|
||||
@@ -7,11 +7,11 @@ import java.util.function.Consumer;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
|
||||
import de.extio.game_engine.event.EventService;
|
||||
import de.extio.game_engine.event.EventService;
|
||||
import de.extio.game_engine.keyboard.KeycodeRegistry;
|
||||
import de.extio.game_engine.renderer.model.RenderingBo;
|
||||
@@ -23,6 +23,7 @@ public class RendererAutoConfiguration {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
RenderingBoPool renderingBoPool(final List<RenderingBo> renderingBoImplementations) {
|
||||
final Map<Class<? extends RenderingBo>, Class<? extends RenderingBo>> mapping = new HashMap<>();
|
||||
for (final var impl : renderingBoImplementations) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package de.extio.game_engine.storage;
|
||||
|
||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
|
||||
@@ -9,6 +10,7 @@ import org.springframework.context.annotation.Bean;
|
||||
public class StorageServiceAutoConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
StorageService storageService() {
|
||||
return new StorageServiceImpl();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user