The Spring Blog

Engineering
Releases
News and Events

SpringOne2GX 2014 Replay: RaveJS - Spring Boot concepts for JavaScript applications

Recorded at SpringOne2GX 2014.

Speaker: John Hann

Web / JavaScript Track

Slides: http://www.slideshare.net/SpringCentral/rave-js-springone-2gx-2014-41117770

Modern JavaScript frameworks have become quite sophisticated. Unfortunately, they have also become quite complicated. The demos and sample projects for these frameworks look deceptively simple. However, to build and deploy real applications, developers must scaffold, configure, and maintain a tremendous amount of intricate machinery. Until recently, the Java world wasn't very different. Spring Boot finally made it easy to create stand-alone, production-grade Spring Applications that can you can "just run". Can we do the same for JavaScript? Yes, we can! Introducing RaveJS. Rave eliminates configuration, machinery, and complexity. Stop configuring and tweaking machinery such as file watchers, minifiers, and transpilers just to get to a runnable app. Instead, go from zero to "hello world" in 30 seconds. In the next 30 seconds, easily add capabilities and frameworks to your application simply by installing *Rave Extensions* and *Rave Starter* packages from npm and Bower, the leading JavaScript package managers. Finally, install additional *Rave Extension* packages to apply your favorite build, deploy, and testing patterns.

Read more...

SpringOne2GX 2014 Replay: The Revolution Will Not Be Centralized

Recorded at SpringOne2GX 2014.

Speaker: Chris Beams

Data / Integration Track

Slides: http://www.slideshare.net/SpringCentral/the-revolution-will-not-be-centralizedhow-to-build-a-blockchain-using-spring-to-develop-a-bitcoinlike-virtual-currency

Massive government-run data dragnets. Advertising-based "free" cloud services working against the best interests of their users. Giant, unreadable end user license agreements. It seems that everywhere we turn, the walls are closing in on individual privacy and autonomy. The situation is complex. Out of confusion and frustration, many users have already given up. Common refrains are "privacy is dead" and "I've got nothing to hide". But revolution is in the air. The internet and the web are decentralized by design. Protocols like DNS, SMTP and HTTP assume a network of peers, but during the last 15 years—our adolescence with these technologies—we have unintentionally centralized much of the internet's infrastructure. This hasn't been for nefarious purposes; it's been done out of convenience. Having a GMail account is simply much easier than running your own mail server; storing everything in the cloud is easier than maintaining your own backups. As an unintended consequence, we've made surveillance much easier and made invasive ad-based business models the norm. A growing number of technologists are working to re-decentralize the net in surprising and profound ways. Free software and innovative peer-to-peer networks play an important role in this effort, but what may prove to be the most important tool is a new one: cryptocurrency. With bitcoin, we now have a natively digital money; a cash for the web; a currency that is as decentralized and flexible as the rest of the internet was designed to be. At a glance, bitcoin may look like just another payment option, a fad, or a speculative bubble. On closer inspection, one begins to see that it can enable new business models by facilitating previously impossible economic incentives between peers. Once one grasps the fundamentals of cryptocurrency, one sees that its long-term implications and possibilities are as broad and deep as the internet itself. And just like the internet, bitcoin is not a panacea. It is rife with its own problems and faces its own existential threats. In this talk, Chris Beams will share his findings from over two years of research into bitcoin and related technologies: the promise and the peril; how bitcoin may be able to create the first sustainable business models for the development of free software; how privacy may rise from the dead yet; and why the revolution will not be centralized.

Read more...

SpringOne2GX 2014 Replay: Caching with Spring: Advanced Topics and Best Practices

Recorded at SpringOne2GX 2014.

Speaker: Michael Plod

Core Spring Track

Slides: http://www.slideshare.net/SpringCentral/spring-one2gx-caching-with-spring

Caching is relevant for a wide range of business applications and there is a huge variety of products in the market ranging from easy to adopt local heap based caches to powerful distributed data grids. This talk addresses advanced usage of Spring’s caching abstraction such as integrating a cache provider that is not integrated by the default Spring Package. In addition to that I will also give an overview of the JCache Specification and it’s adoption in the Spring ecosystem. Finally the presentation will also address various best practices for integrating various caching solutions into enterprise grade applications that don’t have the luxury of having "eventual consistency“ as a non-functional requirement. This talk comes with many live demos, some of them are demoed on a distributed cache cluster on Raspberry Pis and Lego Mindstorms robots (running Spring).

Read more...

SpringOne2GX 2014 Replay: Resource Handling in Spring MVC 4.1

Recorded at SpringOne2GX 2014.

Speaker: Brian Clozel, Rossen Stoyanchev

Slides: http://www.slideshare.net/SpringCentral/resource-handling-spring-framework-41-41088162

Web / JavaScript Track

As the complexity of web and mobile apps increases, so does the importance of ensuring that your client-side resources load and execute in an optimal and efficient manner. Differences in resource loading, transforming, and fingerprinting techniques can have a dramatic impact on performance and caching. These techniques can dictate whether your users have a joyful or frustrating experience. Attend this talk to learn the SpringMVC performance techniques aimed at keeping your users happy.

Read more...

The Portable, Cloud-Ready HTTP Session

A Framework for all Seasons (and Architectures)

Spring walks an interesting line. It provides a lot of value no matter where you run it, and - because it’s built on dependency injection layer - it offers a natural piece of indirection between the underlying layer and the applications that run on top of it. This indirection promotes code portability through decoupling: your application code is ignorant of where the javax.sql.DataSource (or whatever) handle it’s using comes from, be it a JNDI lookup, environment variables, or a simple new’d-up bean provided by Spring. This decoupling and the rich toolbox of features on top of Spring supporting all manner of use cases - batch processing, integration, stream processing, web services, microservices, operations, web applications, security, etc. - have made Spring a logical choice for developers deploying to (sometimes-embedded) web containers like Apache Tomcat or Eclipse Jetty, to application servers like WebSphere and WildFly, and to cloud runtimes like Google App Engine, Heroku, OpenShift, and (my personal favorite these days) Cloud Foundry. This portability is also what makes it easy to forklift most (reasonably-written!) applications from the application servers into lighter web containers and, ultimately, into the cloud.

Read more...

Spring Security 4.0.0.RC2 Released

We are please to announce the release of Spring Security 4.0.0.RC2.

We were very keen on doing a GA release, but due to community feedback we decided that another RC was necessary. Ultimately, this release resolved nearly 50 tickets.

A summary of changes can be seen below:

Assuming everything goes smoothly, the plan is to do a GA release in approximately two weeks. In the meantime, make sure to try everything out and give us feedback!

Read more...

This Week in Spring - February 24th, 2015

Welcome to another installment of This Week in Spring! We’ve got a lot to cover so let’s get to it!

  1. Our pal Adam Koblentz (from ZeroTurnaround) put up this great post introducing building a websocket application with Spring Boot and JRebel. Check it out!
  2. Check out this replay of Mark Fisher, Dr. Mark Pollack, and Sabby Anandan’s webinar introducing Spring XD - A Platform for data at scale and developer productivity
  3. A huge part of the Pivotal Data Suite, of course, is Spring XD. Last week I surfaced some of the amazing Spring XD wiki content on the new stream processing supports in Spring XD 1.1. Check out the Wiki page for a more detailed look by Spring XD ninja Ilayaperumal Gopinathan.
  4. Spring Cloud co-lead Spencer Gibb has been improving the Spring Cloud Netflix integration. Check out this example demonstrating using RxJava’s Observable<T> return-values from Spring MVC. Here are the changes.
  5. March Webinars are here, and it’s packed with Javascript, Spring Boot and Spring Cloud.
    This killer lineup starts with Dr. Dave Syer’s epic VII part blog series on Angular - lightweight API gateway - Spring Security - made into a webinar on March 10th. Then Scott Deeg will examine the same thing, except with Google’s Polymer on the frontend, on a webinar March 24th. Lastly, Julien Dubois will introduce the AngularJS+Boot application generator, JHipster on March 17th, 2015.
  6. Alvin Reyes’s posts introducing how to configure Apache Tomcat’s server.xml and users.xml are wonderful resources.
  7. Reactor project-lead Jon Brisbin has just announced Reactor RC1!
  8. Spring ninja Stéphane Nicoll has just announced the Spring framework maintenance release, 4.1.5
  9. Last week, we at Pivotal announced some big changes; we’ve open-sourced our Pivotal Data Suite! Check out this InfoQ post on the subject
  10. Spring IO Platform lead Andy Wilkinson has just released improved support for Maven Bill-of-Material dependency management using Gradle
  11. Eclipse foundation member John Arthorne and Spring Tool Suite lead Martin Lippert’s talk, Eclipse IDE to the Cloud-Based Era of Developer Tooling from JavaOne 2014 is available online and well worth a watch!
  12. The SD Times article on the open-sourcing of the Pivotal Data Suite is worth a read, too.
  13. Not related but still awesome: HTTP2 is now a thing!
  14. Check out Rick Hightower’s post on using the QBit framework with Spring Boot. Interesting..
  15. Hubert Klein Ikkink put together a quick look at using Spring Boot’s OutputCapture JUnit @Rule in a Spock test.
  16. Our pal Eugen Paraschiv put together a great look at using the venerable JdbcTemplate
  17. Disid’s Enrique Ruiz put together a nice post on using Spring Roo from STS.
  18. Check out this week’s SpringOne2GX 2014 replays:
    SpringOne2GX 2014 Replay: Panel Session: Real World Boot-up sequences
    SpringOne2GX 2014 Replay: Spring Data REST - Data Meets Hypermedia
    SpringOne2GX Replay: Spring Batch Performance Tuning
    SpringOne2GX 2014 Replay: Artistic Spring Data Neo4j 3.x with Spring Boot
Read more...