using spring boot effectively in cloud foundry

8
TECHNOLOGY SOLUTIONS DELIVERED Using Spring Boot Effectively in Cloud Foundry Josh Ghiloni (@joshghiloni) Senior Consultant, ECS Team

Upload: josh-ghiloni

Post on 13-Apr-2017

106 views

Category:

Software


4 download

TRANSCRIPT

Page 1: Using Spring Boot Effectively in Cloud Foundry

TECHNOLOGY SOLUTIONS DELIVERED

Using Spring Boot Effectively in Cloud Foundry

Josh Ghiloni (@joshghiloni)

Senior Consultant, ECS Team

Page 2: Using Spring Boot Effectively in Cloud Foundry

Agenda What is Spring? Why use it?

What is Spring Boot? Why use it?

Side by side with traditional Spring

Spring Boot in Action

Page 3: Using Spring Boot Effectively in Cloud Foundry

What is Spring? Why use it? Premier Java inversion of control (IoC) /

dependency injection framework Presents common design patterns as first class

objects Robust community of developers Responsive component owners

Page 4: Using Spring Boot Effectively in Cloud Foundry

What is Spring Boot? Why use it?Opinionated

It knows what you probably want your app configuration to look like

PassiveIt knows to get out of the way when it’s wrong

Accelerated time to marketSignificantly less boilerplate code necessary

Page 5: Using Spring Boot Effectively in Cloud Foundry

Side by side with Traditional Spring

Traditional Spring Spring BootLines of Code Written 147 (34 actual app

code)53 (34 actual app code)

Compiled WAR Size 5202 KB 16539 KBApp Start Time ~ 4 sec ~ 7 sec

Page 6: Using Spring Boot Effectively in Cloud Foundry

Side by side with Traditional SpringBoilerplate code (Traditional Spring)@Configuration@ComponentScan@Order(Ordered.HIGHEST_PRECEDENCE)public class AppInitializer extends

AbstractDispatcherServletInitializer {// 15 lines of code omitted}@Configuration@Order(Ordered.HIGHEST_PRECEDENCE + 10)public class SecurityInitializer extends

AbstractSecurityWebApplicationInitializer {// 3 lines of code omitted

}

@Configuration@EnableWebMvcpublic class WebConfig {// 10 lines of code omitted}@Configuration@EnableWebMvcSecuritypublic class WebSecurityConfig extends

WebSecurityConfigurerAdapter {// 34 lines of code omitted}

Page 7: Using Spring Boot Effectively in Cloud Foundry

@SpringBootApplication

public class SpringBootExampleApplication extends SpringBootServletInitializer {

public static void main(String[] args) {

SpringApplication.run(SpringBootExampleApplication.class, args);

}

@Override

protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {

return application.sources(SpringBootExampleApplication.class);

}

}

Side by side with Traditional SpringBoilerplate code (Spring Boot)

Page 8: Using Spring Boot Effectively in Cloud Foundry

Spring Boot in action Code located at

https://github.com/jghiloni/cf-meetup-march2015