23 Ocak 2019 Çarşamba

SpringBoot SpringApplication Sınıfı

Giriş
Şu satırı dahil ederiz.
import org.springframework.boot.SpringApplication;
ConfigurableApplicationContext nesnesini yaratmak için kullanılır.

Kullanım
- Normal kullanımda run()metoduna @SpringBootApplication olarak işaretli sınıfı geçeriz.
- Bir diğer kullanımda run()metoduna @SpringBootApplication olarak işaretli sınıfı ve args parametrelerini geçeriz.
- Özel durumlarda bu sınıfı yaratmak için SpringApplicationBuilder kullanılabilir.

constructor
@SpringBootApplication olarak işaretli sınıfı geçeriz.

Örnek
Şöyle yaparız.
SpringApplication application = new SpringApplication(DemoApplication.class);
exit metodu
Örnek
Şöyle yaparız
@Autowired
public void shutDown(ExecutorServiceExitCodeGenerator exitCodeGenerator) {
  SpringApplication.exit(applicationContext, exitCodeGenerator);
}
Örnek
Şöyle yaparız.
@SpringBootApplication
public class Example {
  public static void main(String[] args) {
    ConfigurableApplicationContext ctx = SpringApplication.run(Example.class, args);
    // ...determine it's time to stop...
    int exitCode = SpringApplication.exit(ctx, new ExitCodeGenerator() {
      @Override
      public int getExitCode() {
        // no errors
        return 0;
      }
    });
    System.exit(exitCode);
  }
}
run metodu - args
Örnek
Şöyle yaparız.
@SpringBootApplication
public class Main {

  public static void main(String[] args) {

    SpringApplication app = new SpringApplication(Main.class);
    ApplicationContext ctx = app.run(args);
    ...
  }

}
run metodu - class + args
run metodu static bir metod.
Örnek
Şöyle yaparız.
@SpringBootApplication
public class DemoApplication {

  public static void main(String[] args) throws Exception {
    SpringApplication.run(DemoApplication.class, args);
  }

}
Örnek
run metodu ConfigurableApplicationContext döner. Bu nesneyi kullanmak için şöyle yaparız.
@SpringBootApplication
public class DemoApplication {

  public static void main(String[] args) {
    try (ConfigurableApplicationContext ctx =
      SpringApplication.run(DemoApplication.class, args)) {
        final Gateway gateway = ctx.getBean(Gateway.class);
        ...
    }
  }
  ...    
}
Örnek
Şu örnekte kodlanan applicationContext nesnesi SpringApplication nesnesine geçilmediği için işe yaramaz.
@SpringBootApplication
public class Application {
  public static void main(String[] args) {
    ApplicationContext applicationContext =
      new ClassPathXmlApplicationContext("applictionContext.xml");
    SpringApplication.run(Application.class, args);
  }
}
setBannerMode meodu
Şu satırı dahil ederiz.
import org.springframework.boot.Banner.Mode;
Şöyle yaparız.
SpringApplicationBuilder builder = ...;
builder.application().setBannerMode(Mode.OFF);
setDefaultProperties metodu
Şöyle yaparız.
@SpringBootApplication
public class DemoApplication{

  public static void main(String[] args){
    SpringApplication application = new SpringApplication(DemoApplication.class);

    Properties properties = new Properties();
    properties.put("server.port", 9999);
    application.setDefaultProperties(properties);

    application.run(args);
  }
}
setWebEnvironment metodu
Şöyle yaparız.
SpringApplication sp = new SpringApplication(SpringApplicationBuilder.class);       
sp.setWebEnvironment(false);
sp.run(args);


Hiç yorum yok:

Yorum Gönder