aboutsummaryrefslogtreecommitdiff
path: root/juick-console/src/main/java/com/juick/console/Console.java
blob: 9fff298f0af8d084d786da6a6ffd982fc09bcb84 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package com.juick.console;

import ch.vorburger.exec.ManagedProcessException;
import com.juick.console.configuration.ConsoleAppConfiguration;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.core.env.SimpleCommandLinePropertySource;

/**
 * Created by vitalyster on 30.08.2016.
 */
public class Console {

    public static void main(String ...args) throws ManagedProcessException {
        final AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext();

        // setup configuration
        applicationContext.register(ConsoleAppConfiguration.class);
        // add CLI property source
        applicationContext.getEnvironment().getPropertySources()
                .addLast(new SimpleCommandLinePropertySource(args));

        // setup all the dependencies (refresh) and make them run (start)
        applicationContext.refresh();
        applicationContext.start();
        applicationContext.getBean(ConsoleApp.class).start();
    }
}