From 1d5308bccc1827ddb31d28d6d4a75c626a9657d6 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Sun, 22 Apr 2018 22:21:04 +0300 Subject: [PATCH] Spring external config --- core/src/main/java/mc/core/Main.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/mc/core/Main.java b/core/src/main/java/mc/core/Main.java index 3b0f3bb..3aa43c9 100644 --- a/core/src/main/java/mc/core/Main.java +++ b/core/src/main/java/mc/core/Main.java @@ -9,11 +9,25 @@ import mc.core.network.Server; import mc.core.network.StartServerException; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.springframework.context.support.FileSystemXmlApplicationContext; + +import java.nio.file.Files; +import java.nio.file.Paths; @Slf4j public class Main { + private static ApplicationContext createContext() { + final String springXml = System.getProperty("springConfig", "./spring.xml"); + + if (Files.exists(Paths.get(springXml))) { + return new FileSystemXmlApplicationContext(springXml); + } else { + return new ClassPathXmlApplicationContext("spring.xml"); + } + } + public static void main(String[] args) { - ApplicationContext appContext = new ClassPathXmlApplicationContext("spring.xml"); + ApplicationContext appContext = createContext(); GameLoop gameLoop = appContext.getBean(GameLoop.class); gameLoop.start();