0

set parent config

ConfigurableApplicationContext - интерестный интерфейс, позволяющий
соединять разные конфигурации через определения родителя.

Например так:

```
ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class);
ConfigurableApplicationContext cac = new AnnotationConfigApplicationContext(SpringNewConfig.class);
cac.setParent(ctx);
cac.start();

CoolObj obj = cac.getBean("cool", CoolObj.class);
```
This commit is contained in:
2017-12-25 01:45:20 +03:00
parent 41b3844ec8
commit e4631b2da8

View File

@@ -11,6 +11,8 @@ import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.Slf4jLog;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.ContextLoaderListener;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
@@ -22,6 +24,8 @@ public class WebApp {
private final Logger logger = LoggerFactory.getLogger(WebApp.class);
private final String host;
private final int port;
@Autowired
private ApplicationContext rootContext;
public WebApp(String host, int port) {
this.host = host;
@@ -51,6 +55,7 @@ public class WebApp {
private WebApplicationContext getContext() {
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
context.setParent(rootContext);
context.setConfigLocation("kinosearch.webapp");
return context;
}