SlideShare a Scribd company logo
What's  new  in  
Spring  Framework  4.3/Boot  1.4  
+
Pivotal's Cloud  Native Approach
2016/05/21  JJUG  CCC  2016  Spring
Toshiaki  Maki  (@making)
Sr.  Solutions  Architect  @Pivotal
#jjug_̲ccc #ccc_̲gh5
Who  am  I  ?
•Toshiaki  Maki  (@making)
•https://blog.ik.am
•Sr.  Solutions  Architect
•Spring  Framework  enthusiast
Spring
Framework
徹底⼊入⾨門
(Coming  
Soon?)
パーフェクト
Java  EE
(Coming  
Soon?)
Agenda
•Spring  Boot  1.4  /  Spring  Framework  4.3
•Spring  Framework  5.0
•Spring  Cloud
•Go  to  Cloud  Native
Spring  Boot
https://twitter.com/phillip_̲webb/status/641444531867680768
Spring  Initializr https://start.spring.io/
Spring  Initializr https://start.spring.io/
Spring  Initializr https://start.spring.io/
Spring  Boot  Adoption
Roadmap
Spring  Framework
Spring  Boot
2016  JUN 2017〜~
4.3	
  GA
1.4	
  GA
5.0	
  RC1
2.0	
  GA
5.0	
  M1 5.0	
  GA
Spring  Boot  1.4
•Banner  Update
•Test  Improvements
•Spring  Framework  4.3  Support
•Misc
https://github.com/spring-‐‑‒projects/spring-‐‑‒boot/wiki/Spring-‐‑‒Boot-‐‑‒1.4-‐‑‒Release-‐‑‒Notes
Spring  Boot  1.4
•Banner  Update
•Test  Improvements
•Spring  Framework  4.3  Support
•Misc
https://github.com/spring-‐‑‒projects/spring-‐‑‒boot/wiki/Spring-‐‑‒Boot-‐‑‒1.4-‐‑‒Release-‐‑‒Notes
Spring  Boot  with  Banner
👈
Spring  Boot  with  Banner
src/main/resrouces/banner.txt
•1.1  supported  Custom  Text  Banner  
Spring  Boot  with  Banner
•1.3  supported  ANSI  Color  Banner  
${AnsiColor.BRIGHT_GREEN}My Application
${AnsiColor.BRIGHT_YELLOW}Hello!!${AnsiColor.DEFAULT}
src/main/resrouces/banner.txt
IntelliJ IDEA's  Support
Nyan Cat!
https://github.com/snicoll-‐‑‒demos/spring-‐‑‒boot-‐‑‒4tw-‐‑‒uni/blob/master/spring-‐‑‒boot-‐‑‒4tw-‐‑‒web/src/main/resources/banner.txt
https://ja.wikipedia.org/wiki/Nyan_̲Cat
Spring  Boot  with  Banner
•1.4  supports  Image  Banner!!
Spring  Boot  with  Banner
•1.4  supports  Image  Banner!!
src/main/resrouces/banner.png
Spring  Boot  with  Banner
•1.4  supports  Image  Banner!!
src/main/resrouces/banner.png
Tweet
your  banner
#tweetbootbanner
Spring  Boot  1.4
•Banner  Update
•Test  Improvements
•Spring  Framework  4.3  Support
•Misc
https://github.com/spring-‐‑‒projects/spring-‐‑‒boot/wiki/Spring-‐‑‒Boot-‐‑‒1.4-‐‑‒Release-‐‑‒Notes
Test  Improvements
•Test  simplifications
•Mocking  and  spying
•Testing  application  slices
Test  simplifications
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(MyApp.class)
@WebIntegrationTest(randomPort=true)
public class MyTest {
TestRestTemplate rest = new RestTemplate();
@Value("${local.server.port}") int port;
@Test
public test() {
rest.getForObject("http://localhost:"+port+"/foo",
String.class);
}
}
~∼  Spring  Boot  1.3
Test  simplifications
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)
public class MyTest {
TestRestTemplate rest = new RestTemplate();
@LocalServerPort int port;
@Test
public test() {
rest.getForObject("http://localhost:"+port+"/foo",
String.class);
}
}
Spring  Boot  1.4  ~∼
Test  simplifications
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)
public class MyTest {
TestRestTemplate rest = new RestTemplate();
@LocalServerPort int port;
@Test
public test() {
rest.getForObject("http://localhost:"+port+"/foo",
String.class);
}
}
Spring  Boot  1.4  ~∼
• WebEnvironment.DEFINED_PORT
• WebEnvironment.MOCK
Test  simplifications
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)
public class MyTest {
@Autowired
TestRestTemplate rest;
@Test
public test() {
rest.getForObject("/foo", String.class);
}
}
Spring  Boot  1.4  ~∼
equals  to
http://localhost:${local.server.port}
Mocking  and  spying
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(MyApp.class)
@WebIntegrationTest(randomPort=true)
public class MyTest {
@Autowired FooController fooController;
@Test
public test() {
FooService fooService = mock(FooService.class);
fooController.fooService = fooService;
// stubbing behaviors
}
}
~∼  Spring  Boot  1.3
Mocking  and  spying
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(MyApp.class)
@WebIntegrationTest(randomPort=true)
public class MyTest {
@MockBean // or @SpyBean
FooService fooService;
public test() {
// stubbing behaviors
}
}
Spring  Boot  1.4  ~∼
Mocks  will  be  
automatically  reset  
across  tests
Testing  application  slices
•Testing  the  JPA  slice
•Testing  the  Spring  MVC  slice
•Testing  the  JSON  slice
for  fast  tests
(without  Embedded  Server)
Testing  the  JPA  slice
@RunWith(SpringRunner.class)
@DataJpaTest
public class UserRepositoryTests {
@Autowired TestEntityManager em;
@Autowired UserRepository repository;
@Test
public void test() {
em.persist(new User("maki", 20));
User user = this.repository.findByUsername("maki");
assertThat(user.getUsername()).isEqualTo("maki");
assertThat(user.getAge()).isEqualTo(20);
}
}
Test  data  
creation
Testing  the  Spring  MVC  slice
@RunWith(SpringRunner.class)
@WebMvcTest(FooController.class)
public class FooControllerTests {
@Autowired MockMvc mvc;
@MockBean FooService fooService;
@Test public void test() {
given(fooService.getFoo("xyz")).willReturn("bar");
mvc.perform(get("/foo")
.andExpect(status().isOk())
.andExpect(content().string("bar"));
}
}
Testing  the  Spring  MVC  slice
@RunWith(SpringRunner.class)
@WebMvcTest(FooController.class)
public class FooControllerTests {
@Autowired WebClient webClient; // using HtmlUnit
@MockBean FooService fooService;
@Test public void test() {
given(fooService.getFoo("xyz")).willReturn("bar");
HtmlPage page = webClient.getPage("/foo");
HtmlForm form = page.getHtmlElementById("fooForm");
// ...
}
}
Testing  the  Spring  MVC  slice
@RunWith(SpringRunner.class)
@WebMvcTest(FooController.class)
public class FooControllerTests {
@Autowired WebDriver webDriver; // using Selenium
@MockBean FooService fooService;
@Test public void test() {
given(fooService.getFoo("xyz")).willReturn("bar");
// ...
}
}
Testing  the  JSON  slice
@RunWith(SpringRunner.class)
@JsonTest
public class MyJsonTests {
JacksonTester<VehicleDetails> json;
@Test public void testSerialize() {
VehicleDetails details =
new VehicleDetails("Honda", "Civic");
assertThat(json.write(details))
.isEqualToJson("expected.json");
assertThat(json.write(details))
.extractingJsonPathStringValue("@.make")
.isEqualTo("Honda");
}
}
Testing  the  JSON  slice
@RunWith(SpringRunner.class)
@JsonTest
public class MyJsonTests {
JacksonTester<VehicleDetails> json;
@Test public void testDeserialize() {
String json =
"{¥"make¥":¥"Ford¥",¥"model¥":¥"Focus¥"}";
assertThat(json.parse(json))
.isEqualTo(new VehicleDetails("Ford", "Focus"));
assertThat(json.parseObject(json).getMake())
.isEqualTo("Ford");
}
}
Spring  Boot  1.4
•Banner  Update
•Test  Improvements
•Spring  Framework  4.3  Support
•Misc
https://github.com/spring-‐‑‒projects/spring-‐‑‒boot/wiki/Spring-‐‑‒Boot-‐‑‒1.4-‐‑‒Release-‐‑‒Notes
Spring  Framework  4.3
• Last  4.x  feature  release!
• 4.3  RC1:  April  6th
• 4.3  GA:  June  1st,  2016
• DI  &  MVC  refinements
• Composed  annotations
• Extended  support  life  until  2020
• on  JDK  6,  7,  8  (and  JDK  9  on  a  best-‐‑‒effort  basis)
• on  Tomcat  6,  7,  8.0,  8.5  (and  on  best-‐‑‒effort  9.0)
• on  WebSphere  7,  8.0,  8.5  and  9  (Classic  +  Liberty)
from  Keynote  @  Spring  IO  2016
Spring  Framework  4.3
• Implicit  constructor  injection
• InjectionPoint like  CDI
• ....
• Composed  annotations  for  @RequestMapping
• Composed  annotations  for  web  @Scopes
• @SessionAttribute/@RequestAttribute ...
http://docs.spring.io/spring/docs/4.3.0.RC2/spring-‐‑‒framework-‐‑‒reference/htmlsingle/#new-‐‑‒in-‐‑‒4.3
Core
Web
Implicit  constructor  injection
@RestController
public class FooController {
private final FooService fooService;
@Autowired
public FooController(FooService fooService) {
this.fooService = fooService;
}
}
~∼ Spring  4.2
👈
Implicit  constructor  injection
@RestController
public class FooController {
private final FooService fooService;
public FooController(FooService fooService) {
this.fooService = fooService;
}
}
Spring  4.3  ~∼
👍
Implicit  constructor  injection
@RestController
@AllArgsConstructor(onConstructor = @_(@Autowired))
public class FooController {
private final FooService fooService;
}
~∼  Spring  4.2  +  Lombok
👇😩
Implicit  constructor  injection
@RestController
@AllArgsConstructor
public class FooController {
private final FooService fooService;
}
Spring  4.3  ~∼  +  Lombok
👍
InjectionPoint like  CDI
@RestController
public class FooController {
@Autowired
@Xyz("bar")
FooService service;
}
InjectionPoint like  CDI
@Configuration
public class FooConfig {
@Bean
FooService foo(InjectionPoint ip) {
AnnotatedElement elm
= ip.getAnnotatedElement();
Xyz xyz = elm.getAnnotation(Xyz.class);
String value = xyz.value(); // "bar"
// create FooService using Xyz's value
}
}
Composed  annotations  for
@RequestMapping
•@GetMapping
•@PostMapping
•@PutMapping
•@DeleteMapping
•@PatchMapping
@RestController
public class FooController {
@RequestMapping(path = "foo", method = GET)
String getFoo() {/* ... */}
@RequestMapping(path = "foo", method = POST)
String postFoo() {/* ... */}
}
Spring  4.2
Composed  annotations  for
@RequestMapping
@RestController
public class FooController {
@GetMapping(path = "foo")
String getFoo() {/* ... */}
@PostMapping(path = "foo")
String postFoo() {/* ... */}
}
Spring  4.3
Composed  annotations  for
@RequestMapping
@RestController
public class FooController {
@GetMapping("foo")
String getFoo() {/* ... */}
@PostMapping("foo")
String postFoo() {/* ... */}
}
Spring  4.3
Composed  annotations  for
@RequestMapping
Composed  annotations  for
web  @Scope s
•@RequestScope
•@SessionScope
•@ApplicationScope
@Scope("request", proxyMode=TARGET_CLASS)
public class RequestScopeBean {}
@Scope("session", proxyMode=TARGET_CLASS)
public class SessionScopeBean {}
@Scope("application", proxyMode=TARGET_CLASS)
public class ApplicationScopeBean {}
~∼Spring  4.2
Composed  annotations  for
web  @Scope s
@RequestScope
public class RequestScopeBean {}
@SessionScope
public class SessionScopeBean {}
@ApplicationScope
public class ApplicationScopeBean {}
Spring  4.3
Composed  annotations  for
web  @Scope s
@GetMapping("foo")
String foo(@SessionAttribute("foo")String foo) {
// equals to sessiong.getAttribute("foo")
}
@GetMapping("bar")
String bar(@RequestAttribute("bar")String bar) {
// equals to request.getAttribute("bar")
}
Spring  4.3
@SessionAttribute/@RequestAttribute
for  access  to  session/request  attributes
Spring  Boot  1.4
•Banner  Update
•Test  Improvements
•Spring  Framework  4.3  Support
•Misc
https://github.com/spring-‐‑‒projects/spring-‐‑‒boot/wiki/Spring-‐‑‒Boot-‐‑‒1.4-‐‑‒Release-‐‑‒Notes
Miscellaneous
• Spring  Boot  1.4
• Startup  error  improvements
• Couchbase 2.0  /  Neo4J  Support
• @JsonComponent
• Spring  Security  4.1
• Spring  Data  Hopper  and  so  on...
• Spring  Framework  4.3
• Java  Config supports  constructor  injection
• Programmatic  resolution  of  dependencies
• Cache  abstraction  refinements
• Built-‐‑‒in  support  for  HTTP  HEAD  and  OPTIONS
• Caffeine  Support
• OkHttp3  Support  and  so  on...
Enjoy  Spring  4.3  /  Boot  1.4  !!
Spring  5.0
•A  new  framework  generation  for  2017+
•5.0  M1  July  2016
•5.0  RC1  December  2016
from  Keynote  @  Spring  IO  2016
Spring  5.0
•Major baseline upgrade
•JDK  8+,  Servlet 3.0+,  JMS  2.0+,  
JPA  2.1+,  JUnit 5
•JDK  9,  Jigsaw
•HTTP/2
•Reactive  Architecture
from  Keynote  @  Spring  IO  2016
Reactor
•Yet  Another  Rx  library  on  the  JVM
•Natively  built  on  top  of  Reactive  Streams
•Developed  by  Pivotal
•Non-‐‑‒blocking
•Reactor  Core  provides  lite  Rx  API
•Flux for  0..N  elements
•Mono for  0..1  element
https://projectreactor.io/
#jjug_ccc #ccc_gh5 What's new in Spring Framework 4.3 / Boot 1.4 + Pivotal's Cloud Native Approach
Spring  Reactive
• Embeds  Reactor
• Experimental  project  on  Spring  5  reactive  support
• Runs  on
• Reactor  Net
• RxNetty
• Undertow
• Servlet  3.1  containers  (Servlet  is  optional  !!)
• Same  programming  model  as  Spring  MVC
• Will  be  merged  to  5.x  branch  after  4.3  released
https://github.com/spring-‐‑‒projects/spring-‐‑‒reactive
Spring  Reactive
@RestController
public class TodosController {
@GetMapping("todos")
Flux<Todo> list() {
return this.repository.list();
}
@PostMapping("todos")
Mono<Void> create(@RequestBody Flux<Todo> stream) {
return this.repository.insert(stream);
}
} https://github.com/sdeleuze/spring-‐‑‒reactive-‐‑‒playground
Spring Web Reactive
@MVC
HTTP
Reactive Streams
Servlet 3.1 Reactor I/O RxNetty
from  Keynote  @  Spring  IO  2016
from  Keynote  @  Spring  IO  2016
Boot Security Data Cloud Integration
Spring  Cloud
Spring  Cloud http://projects.spring.io/spring-‐‑‒cloud/
Spring  Cloud  provides
•Service  Discovery
•API  Gateway
•Client-‐‑‒side  Load  Balancing
•Config Server
•Circuit  Breakers
•Distributed  Tracing
Spring  Cloud  provides
•Service  Discovery
•API  Gateway
•Client-‐‑‒side  Load  Balancing
•Circuit  Breakers
•Distributed  Configuration
•Distributed  Tracing
Eureka
Zuul Ribbon
Hystrix
Zipkin
Microservices with  Spring  Cloud
Go  to  Cloud  Native
Cloud  Native?
•"Software  designed  to  run  and  scale  
reliably  and  predictably  on  top  of  
potentially  unreliable  cloud-‐‑‒based  
infrastructure"
(Duncan  C.E.  Winn,  Free  O'Reilly  Book:  Intro  to  the  Cloud  Native  Platform)
•Microservices is  a  part  of  Cloud  Native
Cloud  Native
Cloud  Native  
DevOps Continuous
Delivery
ContainersMicroservices
Continuous  
Delivery
Release  once  every  6  
months
More  Bugs  in  production
Release  early  and  often
Higher  Quality  of  Code
DevOps
Not  my  problem
Separate  tools,  varied  incentives,  
opaque  process
Shared  responsibility
Common  incentives,  tools,  process  
and  culture
Microservices
Tightly  coupled  components
Slow  deployment  cycles  waiting  
on  integrated  tests  teams
Loosely  coupled  components
Automated  deploy  without  waiting  
on  individual   components
Continuous  
Delivery
Release  once  every  6  
months
More  Bugs  in  production
Release  early  and  often
Higher  Quality  of  Code
DevOps
Not  my  problem
Separate  tools,  varied  incentives,  
opaque  process
Shared  responsibility
Common  incentives,  tools,  process  
and  culture
Microservices
Tightly  coupled  components
Slow  deployment  cycles  waiting  
on  integrated  tests  teams
Loosely  coupled  components
Automated  deploy  without  waiting  
on  individual   components
ArchitectureProcessCulture
Why  Microservices?
•Speed and  Safety
• They  enable  faster  innovation.
Monolith
Service  Oriented  Architecture
Microservices
http://www.kennybastani.com/2016/04/event-‐‑‒sourcing-‐‑‒microservices-‐‑‒spring-‐‑‒cloud.html
Monolith  to  Microservices
Monolith  to  Microservices
Chotto-‐‑‒Matte
✋
Start  from  12  Factors  App
http://12factor.net/
I.  Codebase
One  codebase  
tracked  in  SCM,  many  
deploys
II.  Dependencies
Explicitly  declare  and  
isolate  dependencies
III. Configuration
Store config in the
environment
VI.  Processes
Execute  app  as  stateless  
processes
V.  Build,  Release,  
Run
Strictly  separate  build  
and  run  stages
IV.  Backing  Services
Treat  backing  
services  as  attached  
resources
IX. Disposability
Maximize robustness
with fast startup and
graceful shutdown
VIII. Concurrency
Scale  out  via  the  
process  model
VII.  Port  binding
Export  services  via  port  
binding
XII. Admin processes
Run  admin  /  mgmt
tasks  as  one-‐‑‒off  
processes
X. Dev/prod parity
Keep  dev,  staging,  prod  
as  similar  as  possible
XI. Logs
Treat logs as event
streams
12  Factors  App
Cloud  Native  Platform
Pivotal  Cloud  Foundry
http://pivotal.io/platform
12  Factors
App
Auto  
Scaling
Multi
Tenancy
Container
4  Level  HA
Auto
Healing
Spring  Cloud  
Services
Metrics
OAuth2  
SSO
Docker
IaaS
Agnostic
Backend
Services
Logging
Blue/Green
Deployment
Easy
Installation
#jjug_ccc #ccc_gh5 What's new in Spring Framework 4.3 / Boot 1.4 + Pivotal's Cloud Native Approach
Spring  Cloud  Services
http://docs.pivotal.io/spring-‐‑‒cloud-‐‑‒services/
• Netflix  OSS-‐‑‒as-‐‑‒a-‐‑‒service  in  Pivotal  Cloud  Foundry
Microservices with  Spring  Cloud
Microservices with  SCS
Remove  boilerplate  code,  
implement  patterns
Application  coordination  boilerplate  patterns
Application  configuration  boilerplate  patterns
Enterprise  application  boilerplate  patterns  
Runtime  Platform,  Infrastructure  Automation  boilerplate  
patterns  (provision,  deploy,  secure,  log,  data  services,  etc.)
CLOUDDESKTOP
Spring  Boot
Spring  IO  Platform
Pivotal  Cloud  Foundry
Spring  Cloud
Microservice operation  boilerplate  patterns  (Config
Server,  Service  Discovery,  Circuit  Breaker)
SERVICES
Spring  Cloud  Services
#jjug_ccc #ccc_gh5 What's new in Spring Framework 4.3 / Boot 1.4 + Pivotal's Cloud Native Approach
Concourse  CI
https://concourse.ci
Concourse  CI  Overview
http://www.slideshare.net/gwennetourneau/concourseci-‐‑‒overview
How  Pivotal  make  cycle  of  
code  seamless!!
DEMO
deploy https://github.com/metflix
#jjug_ccc #ccc_gh5 What's new in Spring Framework 4.3 / Boot 1.4 + Pivotal's Cloud Native Approach
More  practical  pipeline
https://github.com/making/concourse-‐‑‒ci-‐‑‒demo
More  practical  pipeline
https://github.com/making/concourse-‐‑‒ci-‐‑‒demo
Pivotal  Cloud  Foundry  for  Local  Development
https://docs.pivotal.io/pcf-‐‑‒dev/
Tutorials
• http://pivotal.io/platform/pcf-‐‑‒tutorials/getting-‐‑‒started-‐‑‒
with-‐‑‒pivotal-‐‑‒cloud-‐‑‒foundry
• https://github.com/Pivotal-‐‑‒Japan/cf-‐‑‒workshop
• https://github.com/Pivotal-‐‑‒Japan/cloud-‐‑‒native-‐‑‒workshop
EBooks  (Free!)
• http://pivotal.io/platform/migrating-‐‑‒to-‐‑‒cloud-‐‑‒native-‐‑‒application-‐‑‒architectures-‐‑‒ebook
• http://pivotal.io/cloud-‐‑‒foundry-‐‑‒the-‐‑‒cloud-‐‑‒native-‐‑‒platform
• http://pivotal.io/beyond-‐‑‒the-‐‑‒twelve-‐‑‒factor-‐‑‒app
Summary
• Spring  4.3,  Spring  Boot  1.4  Jun  2016
• DI・MVC  Improvements,  Composed  Annotations  ...
• Image  Banner,  Test  Improvements,  ...  
• Spring  5.0  
• JDK  8+,  JDK9,  HTTP/2,  Reactive
• Cloud  Native
• Microservices
• Speed  &  Safety
• Independently  Deployable  
• Continuous  Delivery
• Concourse  CI
• Containers,  DevOps
• Cloud  Foundry  as  a  Cloud  Native  Platform
#jjug_ccc #ccc_gh5 What's new in Spring Framework 4.3 / Boot 1.4 + Pivotal's Cloud Native Approach

More Related Content

PDF
Implement Service Broker with Spring Boot #cf_tokyo
PPTX
Spring Cloud Netflixを使おう #jsug
PDF
Spring Cloud Servicesの紹介 #pcf_tokyo
PDF
From Spring Boot 2.2 to Spring Boot 2.3 #jsug
PPTX
Grails Spring Boot
PDF
Seven Simple Reasons to Use AppFuse
PDF
Spring IO '15 - Developing microservices, Spring Boot or Grails?
PDF
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020
Implement Service Broker with Spring Boot #cf_tokyo
Spring Cloud Netflixを使おう #jsug
Spring Cloud Servicesの紹介 #pcf_tokyo
From Spring Boot 2.2 to Spring Boot 2.3 #jsug
Grails Spring Boot
Seven Simple Reasons to Use AppFuse
Spring IO '15 - Developing microservices, Spring Boot or Grails?
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020

What's hot (20)

PDF
Introduction to Spring Boot
PDF
Spring boot入門ハンズオン第二回
PDF
Spring Boot and Microservices
PDF
"Applied Enterprise Metaprogramming in JavaScript", Vladyslav Dukhin
PDF
From Zero to Hero with REST and OAuth2 #jjug
PPTX
Angular 2 Migration - JHipster Meetup 6
PPT
Os Johnson
PDF
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - DOSUG February 2016
PDF
Microservices for the Masses with Spring Boot, JHipster, and JWT - J-Spring 2017
PPTX
How to customize Spring Boot?
PDF
JAX-RS JavaOne Hyderabad, India 2011
PDF
基於 Flow & Path 的 MVP 架構
PPTX
From JavaEE to AngularJS
PDF
Spark IT 2011 - Developing RESTful Web services with JAX-RS
PDF
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
PDF
Clojure Web Development
PDF
Java REST API Framework Comparison - UberConf 2021
PDF
Front End Development for Backend Developers - GIDS 2019
PPT
Choosing a Java Web Framework
PDF
A Gentle Introduction to Angular Schematics - Angular SF 2019
Introduction to Spring Boot
Spring boot入門ハンズオン第二回
Spring Boot and Microservices
"Applied Enterprise Metaprogramming in JavaScript", Vladyslav Dukhin
From Zero to Hero with REST and OAuth2 #jjug
Angular 2 Migration - JHipster Meetup 6
Os Johnson
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - DOSUG February 2016
Microservices for the Masses with Spring Boot, JHipster, and JWT - J-Spring 2017
How to customize Spring Boot?
JAX-RS JavaOne Hyderabad, India 2011
基於 Flow & Path 的 MVP 架構
From JavaEE to AngularJS
Spark IT 2011 - Developing RESTful Web services with JAX-RS
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
Clojure Web Development
Java REST API Framework Comparison - UberConf 2021
Front End Development for Backend Developers - GIDS 2019
Choosing a Java Web Framework
A Gentle Introduction to Angular Schematics - Angular SF 2019
Ad

Similar to #jjug_ccc #ccc_gh5 What's new in Spring Framework 4.3 / Boot 1.4 + Pivotal's Cloud Native Approach (20)

PDF
Testing with Spring 4.x
PDF
Spring Framework 4.1
PDF
The Spring Update
PDF
Ajug - The Spring Update
PDF
PUC SE Day 2019 - SpringBoot
PDF
Testing Spring MVC and REST Web Applications
PPT
Spring Boot Introduction and framework.ppt
PDF
Testing with Spring: An Introduction
PPT
Story ofcorespring infodeck
PPTX
Introduction to Spring Boot
PPT
Spring training
PDF
Testing Web Apps with Spring Framework 3.2
PPTX
Spring Test Framework
PPT
Spring Boot in Action
PPTX
SpringBoot_Annotations_Presentation_Refined.pptx
PPTX
Spring Testing, Fight for the Context
PPTX
Testing microservices: Tools and Frameworks
PPTX
PDF
springtraning-7024840-phpapp01.pdf
PPTX
Testing with Spring 4.x
Spring Framework 4.1
The Spring Update
Ajug - The Spring Update
PUC SE Day 2019 - SpringBoot
Testing Spring MVC and REST Web Applications
Spring Boot Introduction and framework.ppt
Testing with Spring: An Introduction
Story ofcorespring infodeck
Introduction to Spring Boot
Spring training
Testing Web Apps with Spring Framework 3.2
Spring Test Framework
Spring Boot in Action
SpringBoot_Annotations_Presentation_Refined.pptx
Spring Testing, Fight for the Context
Testing microservices: Tools and Frameworks
springtraning-7024840-phpapp01.pdf
Ad

More from Toshiaki Maki (20)

PDF
Concourse x Spinnaker #concourse_tokyo
PDF
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
PDF
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
PDF
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
PDF
Spring Boot Actuator 2.0 & Micrometer
PDF
Open Service Broker APIとKubernetes Service Catalog #k8sjp
PDF
Spring Cloud Function & Project riff #jsug
PDF
Introduction to Spring WebFlux #jsug #sf_a1
PDF
BOSH / CF Deployment in modern ways #cf_tokyo
PDF
Why PCF is the best platform for Spring Boot
PDF
Zipkin Components #zipkin_jp
PPTX
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
PDF
Spring Framework 5.0による Reactive Web Application #JavaDayTokyo
PDF
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
PDF
Spring ❤️ Kotlin #jjug
PDF
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
PDF
Managing your Docker image continuously with Concourse CI
PDF
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
PDF
Short Lived Tasks in Cloud Foundry #cfdtokyo
PDF
今すぐ始めるCloud Foundry #hackt #hackt_k
Concourse x Spinnaker #concourse_tokyo
Serverless with Spring Cloud Function, Knative and riff #SpringOneTour #s1t
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
Spring Boot Actuator 2.0 & Micrometer #jjug_ccc #ccc_a1
Spring Boot Actuator 2.0 & Micrometer
Open Service Broker APIとKubernetes Service Catalog #k8sjp
Spring Cloud Function & Project riff #jsug
Introduction to Spring WebFlux #jsug #sf_a1
BOSH / CF Deployment in modern ways #cf_tokyo
Why PCF is the best platform for Spring Boot
Zipkin Components #zipkin_jp
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
Spring Framework 5.0による Reactive Web Application #JavaDayTokyo
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
Spring ❤️ Kotlin #jjug
Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3
Managing your Docker image continuously with Concourse CI
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...
Short Lived Tasks in Cloud Foundry #cfdtokyo
今すぐ始めるCloud Foundry #hackt #hackt_k

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Encapsulation theory and applications.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Spectral efficient network and resource selection model in 5G networks
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
cuic standard and advanced reporting.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Encapsulation theory and applications.pdf
Understanding_Digital_Forensics_Presentation.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Empathic Computing: Creating Shared Understanding
Spectral efficient network and resource selection model in 5G networks
The AUB Centre for AI in Media Proposal.docx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Per capita expenditure prediction using model stacking based on satellite ima...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Digital-Transformation-Roadmap-for-Companies.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation_ Review paper, used for researhc scholars
cuic standard and advanced reporting.pdf
NewMind AI Monthly Chronicles - July 2025
Dropbox Q2 2025 Financial Results & Investor Presentation
Network Security Unit 5.pdf for BCA BBA.
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
NewMind AI Weekly Chronicles - August'25 Week I
Diabetes mellitus diagnosis method based random forest with bat algorithm

#jjug_ccc #ccc_gh5 What's new in Spring Framework 4.3 / Boot 1.4 + Pivotal's Cloud Native Approach