Your SlideShare is downloading. ×
0
Josh Long (⻰龙之春)
@starbuxman
joshlong.com
josh.long@springsource.com
slideshare.net/joshlong
github.com/joshlong
http://sp...
ABOUT ME
interested in big data, the open
web, cloud and all things Spring.
About Josh Long @Starbuxman
josh@joshlong.com
...
SPRING IS.. SPRING.IO
WEB
Controllers, REST,
WebSocket
INTEGRATION
Channels, Adapters,
Filters, Transformers
BATCH
Jobs, S...
SPRING IS.. SPRING.IO
SPRING IS.. SPRING.IO
SPRING IS.. SPRING.IO
SPRING IS.. SPRING.IO
SPRING IS.. SPRING.IO
SPRING.IO IS REFERENCE IN ACTION
REST DESIGN WITH SPRING
H T T P : / / S P R I N G . I O
Demo
SPRING IS.. GITHUB
SPRING WORKS IN MANY LANGUAGES
Spring loves the JVM:
Java (5,6,7, and 8), Groovy, Scala, etc.
SPRING WORKS IN MANY LANGUAGES
val applicationContext =
new FunctionalConfigApplicationContext( classOf[ServiceConfiguration...
SPRING WORKS IN MANY LANGUAGES
def bb = new BeanBuilder()
bb.loadBeans("classpath:*SpringBeans.groovy")
def applicationCon...
SPRING WORKS IN MANY LANGUAGES
ApplicationContext applicationContext =
new AnnotationConfigApplicationContext( ServiceConfig...
SPRING WORKS IN MANY LANGUAGES
Java 8
a quick note on
Delayed again! from 09/2013 to as late as 03/2014!
Meanwhile, even h...
SPRING WORKS IN MANY LANGUAGES
Java 8
a quick note on
IDE Support:
IntelliJ IDEA has had Java 8 support for a year
Eclipse...
SPRING WORKS IN MANY LANGUAGES
Java 8
a quick note on
Spring 4.0 to be GA against Developer Preview by end of 2013.
Method...
SPRING WORKS IN MANY LANGUAGES
Java 8
a quick note on
Spring 4.0 to be GA against Developer Preview by end of 2014.
lambas...
SPRING WORKS IN MANY LANGUAGES
Java 8
a quick note on
Spring 4.0 to be GA against Developer Preview by end of 2014.
lambas...
SPRING WORKS IN MANY LANGUAGES
Java 8
a quick note on
JSR-310 - Date and Time
// declarative date format
import java.time....
SPRING WORKS IN MANY LANGUAGES
Java 8
a quick note on
Repeatable Annotations
@Scheduled(cron = "0 0 12 * * ?")
@Scheduled(...
SPRING WORKS IN MANY LANGUAGES
Java 8
a quick note on
Spring 4.0
JDK 6 -> JDK 8
Java EE 5 (with JPA 2.0 feature pack) -> J...
SPRING RUNS WELL ON JAVA EE 7
Spring works well in Java EE environments
Supports Java EE 7: Date/Time API, JTA 1.2, JMS 2....
SPRING IS WHERE YOU ARE
SPRING IS WHERE YOU ARE
SPRING IS WHERE YOU ARE
SPRING IS WHERE YOU ARE
S P R I N G C L O U D A N D
Demo
SPRING SUPPORTS NOSQL
Spring supports all the SQLs:
NoSQL, NOSQL, and SQL
SIMPLIFIED DATA ACCESS++
Spring Data offers conventional repositories,
*Template implementations, unified data
access exce...
S P R I N G D ATA J PA R E P O S I TO R I E S
Demo
S P R I N G D ATA R E D I S C A C H E :
Demo
SPRING SUPPORTS
Surviving the Big Data
Wild-West with
Spring for Hadoop
SPRING SUPPORTS
But How Do You Process Data Realtime?
@metamarkets founder Michael E. Driscoll:
SPRING SUPPORTS
Introducing Spring XD
sources
sinks
S P R I N G X D A N D P I V O TA L H D
Demo
SPRING IS.. MESSAGING AND INTEGRATION FRIENDLY
Spring’s REST and Security support
AsyncRestTemplate
Hypermedia Links
@Rest...
S P R I N G C R M R E S T D E M O
Demo
SPRING IS EASY TO GET STARTED WITH
Boot
Autoconfigure
Starters
CLI
Actuator
Tools
Samples
Bootstrap
your productivity
SPRING SUPPORTS CONVENTION OVER CONFIGURATION
SPRING SUPPORTS CONVENTION OVER CONFIGURATION
S P R I N G B O O T TO M C AT S A M P L E
Demo
SPRING IS.. MESSAGING AND INTEGRATION FRIENDLY
Spring gets (and sends!) websockets
WebSockets delegating to implementation...
W E B S O C K E T T R A D E R
Demo
Any
Questions
@starbuxman
josh.long@springsource.com
josh@joshlong.com
github.com/joshlong
slideshare.net/joshlong
?
Upcoming SlideShare
Loading in...5
×

the Spring Update from JavaOne 2013

1,680

Published on

Spring, now part of Pivotal, continues to innovate and support next generation workloads. In this talk, I introduce some of the exciting new Spring technologies supporting websockets, Java 8, Java EE 7, data ingestion and stream processing, NoSQL and Hadoop, and production-ready REST, _and_ I introduce tools designed to expedite ramp-up time for teams who want to deliver, quickly.

Published in: Technology, Education

Transcript of "the Spring Update from JavaOne 2013"

  1. 1. Josh Long (⻰龙之春) @starbuxman joshlong.com josh.long@springsource.com slideshare.net/joshlong github.com/joshlong http://spring.io T H E U P D AT E
  2. 2. ABOUT ME interested in big data, the open web, cloud and all things Spring. About Josh Long @Starbuxman josh@joshlong.com josh.long@springsource.com Developer Advocate
  3. 3. SPRING IS.. SPRING.IO WEB Controllers, REST, WebSocket INTEGRATION Channels, Adapters, Filters, Transformers BATCH Jobs, Steps, Readers, Writers BIG DATA Ingestion, Export, Orchestration, Hadoop DATA NON-RELATIONALRELATIONAL CORE GROOVYFRAMEWORK SECURITY REACTOR GRAILS Full-stack, Web XD Stream, Taps, Jobs BOOT Bootable, Minimal, Ops-Ready
  4. 4. SPRING IS.. SPRING.IO
  5. 5. SPRING IS.. SPRING.IO
  6. 6. SPRING IS.. SPRING.IO
  7. 7. SPRING IS.. SPRING.IO
  8. 8. SPRING IS.. SPRING.IO
  9. 9. SPRING.IO IS REFERENCE IN ACTION
  10. 10. REST DESIGN WITH SPRING H T T P : / / S P R I N G . I O Demo
  11. 11. SPRING IS.. GITHUB
  12. 12. SPRING WORKS IN MANY LANGUAGES Spring loves the JVM: Java (5,6,7, and 8), Groovy, Scala, etc.
  13. 13. SPRING WORKS IN MANY LANGUAGES val applicationContext = new FunctionalConfigApplicationContext( classOf[ServiceConfiguration]) // ServiceConfiguration.scala class ServiceConfiguration extends FunctionalConfiguration { importClass(classOf[DataSourceConfiguration]) val dataSource : DataSource = getBean(“dataSource”) val jdbcTemplate = bean() { new JdbcTemplate( dataSource ) } val jdbcTransactionManager = bean(“txManager”) { new JdbcTransactionManager(dataSource) } } Scala
  14. 14. SPRING WORKS IN MANY LANGUAGES def bb = new BeanBuilder() bb.loadBeans("classpath:*SpringBeans.groovy") def applicationContext = bb.createApplicationContext() // MySpringBeans.groovy import o.sf.jdbc.core.JdbcTemplate import o.sf.jdbc.datasource.DataSourceTransactionManager beans { jdbcTemplate(JdbcTemplate) { dataSource = dataSource } transactionManager(DataSourceTransactionManager) { dataSource = dataSource } } Groovy
  15. 15. SPRING WORKS IN MANY LANGUAGES ApplicationContext applicationContext = new AnnotationConfigApplicationContext( ServiceConfiguration.class); // ServiceConfiguration.java @Configuration @ComponentScan @Import(DataSourceConfiguration.class) @EnableTransactionManagement class ServiceConfiguration { @Bean public JdbcTemplate jdbcTemplate(DataSource dataSource) throws Exception { return new JdbcTemplate( dataSource ); } @Bean public PlatformTransactionManager jdbcTransactionManager(DataSource dataSource){ return new JdbcTransactionManager (dataSource ); } } Java
  16. 16. SPRING WORKS IN MANY LANGUAGES Java 8 a quick note on Delayed again! from 09/2013 to as late as 03/2014! Meanwhile, even has lambas... ... C++
  17. 17. SPRING WORKS IN MANY LANGUAGES Java 8 a quick note on IDE Support: IntelliJ IDEA has had Java 8 support for a year Eclipse won’t have any until June 2014 (..!!) Eclipse-based Spring Tool Suite (STS) has beta Java 8 support.
  18. 18. SPRING WORKS IN MANY LANGUAGES Java 8 a quick note on Spring 4.0 to be GA against Developer Preview by end of 2013. Method references are a great fit for Spring! JdbcTemplate jdbcTemplate; // method references private Customer map(ResultSet rs, int rowNum) throws SQLException { return new Customer( rs.getString("name"), rs.getInt("age") ); } // let it satisfy the `RowMapper` functional interface Customer customer = jdbcTemplate.queryForObject( "select name, age from customers ", this::map);
  19. 19. SPRING WORKS IN MANY LANGUAGES Java 8 a quick note on Spring 4.0 to be GA against Developer Preview by end of 2014. lambas are a great fit for Spring! JdbcTemplate jdbc; Customer customer = jdbc.queryForObject(sql, (rs, rowNum) -> new Customer(rs.getLong("id")));
  20. 20. SPRING WORKS IN MANY LANGUAGES Java 8 a quick note on Spring 4.0 to be GA against Developer Preview by end of 2014. lambas are a great fit for Spring and Twitter!
  21. 21. SPRING WORKS IN MANY LANGUAGES Java 8 a quick note on JSR-310 - Date and Time // declarative date format import java.time.*; import org.springframework.format.annotation.*; public class Customer { @DateTimeFormat(iso=ISO.DATE) private LocalDate birthDate; @DateTimeFormat(pattern="M/d/yy h:mm") private LocalDateTime lastContact; }
  22. 22. SPRING WORKS IN MANY LANGUAGES Java 8 a quick note on Repeatable Annotations @Scheduled(cron = "0 0 12 * * ?") @Scheduled(cron = "0 0 18 * * ?") public void performTempFileCleanup() { ... }
  23. 23. SPRING WORKS IN MANY LANGUAGES Java 8 a quick note on Spring 4.0 JDK 6 -> JDK 8 Java EE 5 (with JPA 2.0 feature pack) -> Java EE 7
  24. 24. SPRING RUNS WELL ON JAVA EE 7 Spring works well in Java EE environments Supports Java EE 7: Date/Time API, JTA 1.2, JMS 2.0, JPA 2.1, Bean Validation 1.1, the new concurrency API in JSR-236, Servlet 3.1, and WebSockets (JSR 356) Even participated in a few JSRs: the websocket JSR (356) and the Batch JSR (352)
  25. 25. SPRING IS WHERE YOU ARE
  26. 26. SPRING IS WHERE YOU ARE
  27. 27. SPRING IS WHERE YOU ARE
  28. 28. SPRING IS WHERE YOU ARE
  29. 29. S P R I N G C L O U D A N D Demo
  30. 30. SPRING SUPPORTS NOSQL Spring supports all the SQLs: NoSQL, NOSQL, and SQL
  31. 31. SIMPLIFIED DATA ACCESS++ Spring Data offers conventional repositories, *Template implementations, unified data access exception handling
  32. 32. S P R I N G D ATA J PA R E P O S I TO R I E S Demo
  33. 33. S P R I N G D ATA R E D I S C A C H E : Demo
  34. 34. SPRING SUPPORTS Surviving the Big Data Wild-West with Spring for Hadoop
  35. 35. SPRING SUPPORTS But How Do You Process Data Realtime? @metamarkets founder Michael E. Driscoll:
  36. 36. SPRING SUPPORTS Introducing Spring XD sources sinks
  37. 37. S P R I N G X D A N D P I V O TA L H D Demo
  38. 38. SPRING IS.. MESSAGING AND INTEGRATION FRIENDLY Spring’s REST and Security support AsyncRestTemplate Hypermedia Links @RestController Websocket
  39. 39. S P R I N G C R M R E S T D E M O Demo
  40. 40. SPRING IS EASY TO GET STARTED WITH Boot Autoconfigure Starters CLI Actuator Tools Samples Bootstrap your productivity
  41. 41. SPRING SUPPORTS CONVENTION OVER CONFIGURATION
  42. 42. SPRING SUPPORTS CONVENTION OVER CONFIGURATION
  43. 43. S P R I N G B O O T TO M C AT S A M P L E Demo
  44. 44. SPRING IS.. MESSAGING AND INTEGRATION FRIENDLY Spring gets (and sends!) websockets WebSockets delegating to implementations on app servers like GlassFish, Tomcat, and Jetty Supports Sock.js server, superset of WS. higher level STOMP supported on WS supports JSR 356 (javax.websocket.*) support.
  45. 45. W E B S O C K E T T R A D E R Demo
  46. 46. Any Questions @starbuxman josh.long@springsource.com josh@joshlong.com github.com/joshlong slideshare.net/joshlong ?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×