Spring Security Java Config Preview: Readability

Engineering | Rob Winch | July 11, 2013 | ...

In this post, I will discuss how to make your Spring Security Java configuration more readable. The post is intended to elaborate on a point from Spring Security Java Config Preview: Web Security where I stated:

By formatting our Java configuration code it is much easier to read. It can be read similar to the XML namespace equivalent where "and()" represents optionally closing an XML element.

Indentation

The indentation of Spring Security's Java configuration really impacts its readability. In general, indentation like a bullet list should be preferred.

For a more concrete example, take a…

Eclipse Quick Search

Engineering | Kris De Volder | July 11, 2013 | ...

Are you an Eclipse user? Do you want a fast and easy way to search for text snippets and patterns in your workspace? Then read on!

A new "Quick Search" is included in Spring ToolSuite (STS) 3.3.0 and Groovy Gails Tool Suite (GGTS) 3.3.0 which have just been released. Even if you are not a Spring or Grails developer, you might be interested in this Feature because it can also be installed separately into a vanilla Eclipse.

Introducing the Quick Search Dialog

The Quick Search dialog is designed to do just one thing and do it well: use simple text searches to quickly navigate around your workspace.

You open the dialog by pressing CTRL+SHIFT+L (or CMD+SHIFT+L on Mac):

The Power of Simplicity

Unlike the standard Eclipse search UI, QuickSearch UI is extremely simple. Nothing to configure (e.g. no need to define a search Scope create a workingset etc.). There's just a single search text box. Start typing and see the results appear immediately and update instantly as you type. Use the arrow keys to select a result and press enter to navigate to it. You can also hit enter immediately to open the first result.

Of course you can also use the mouse if you want to, but there's no need for your hands to leave the keyboard

This Week in Spring - July 9, 2013

Engineering | Josh Long | July 09, 2013 | ...

Welcome to another installment of This Week in Spring. There's a lot of good stuff this week, including content on Apache Tomcat, Spring Security's new Java configuration updates, Spring Batch's Java configuration support, and so much more! We're fast approaching the August price increase for SpringOne2GX 2013 so register now and lock in the lower rate. Ok -- Let's get to it!

  1. Craig Walls has announced that Spring Social 1.1.0.M3 (including revs to Spring Social, Spring Social Facebook, and Spring Social Twitter) is now available. The new release has a lot of compelling features including a new ReconnectFilter, support for OAuth 2's 'state' parameter to prevent CSRF attacks, and initial support for Twitter's streaming API.
  2. Spring Security lead Rob Winch never sleeps. Also, he's just put together several very interesting posts on the brand new Spring Security Java configuration support. He starts the series with an introductory post. The second post covers the details of method-level security (fine-grained access control at the level of individual method invocations). The third post covers the details of web-based security (intercepting HTTP requests). The last post looks at how to use Java configuration to configure Spring Security OAuth. These posts are definitely worth a read! If you love these posts as much as I do, would you please upvote them on DZone?
  3. Have you guys been following Spring XD's development? It's really coming along nicely! One thing that caught my eye recently? The amazing Andy Clement, designer and implementer of the amazing Spring Expression Language (SpEL), and a major contributor to the amazing tooling in the Spring Tool Suite and Grails Tool Suite, is now putting his amazing talents to work building a DSL for Spring XD jobs. To learn more, and to feedback on use cases that might be valuable to you, check out the JIRA.
  4. Upcoming Webinar: Join Mattias Severson & Johan Haleby on July 18th for a talk on Functional Programming without Lambdas.
  5. Upcoming Webinar: Join Hemant Joshi on July 30th for a talk on Spring with Cucumber for Automation.
  6. The replay of last week's webinar, Resistance Is Not Futile: How To Talk Spring And Influence People, is now available on the SpringSourceDev YouTube channel! This webinar provides soft-skills required to help introduce the Spring framework in your organization.
  7. Petri Kainulainen is back at it, this time with a post on to unit test regular Spring MVC @Controllers.
  8. News for Groovy & Grails, SpringSource changed the 3-day class to a new 4-day developer class. The first opportunity to attend will be Groovy & Grails in San Francisco.
  9. Tobias Flohre is back at it again! The last two parts of his awesome series Spring Batch Java Configuration are available. The first post has to do with modular configuration with Java configuration. The second post has to do with job partitioning and multi-threaded steps
  10. Apache Tomcat ninja Mark Thomas has announced the release of Apache Tomcat 7.0.42, which contains a number of bug fixes and improvements compared to version 7.0.41.
  11. Stuart Williams (or @pidster, to those who know him) has recently put together a nice Spring Shell-powered console for working with MQTT messaging systems. Spring Integration also features nice support for MQTT in the Spring Integration Extensions repository.
  12. Speaking of Apache Tomcat, did you guys see Mark Thomas' presentation introducing some of the upcoming Apache Tomcat 8 from last year?

Spring Security Java Config Preview: OAuth

Engineering | Rob Winch | July 05, 2013 | ...

This is the fourth post in my five part blog series that introduces Spring Security Java configuration. In this post, we will discuss how Spring Security Java configuration can be extended by walking through Spring Security OAuth Java configuration support.

Proof of Concept

While the Spring Security Java configuration works well for very basic configuration, it is just a proof of concept. We have not ensured that all the functionality available in the XML namespace is present within its Java configuration support. It was important to ensure that Spring Security's Java configuration would work…

Spring Security Java Config Preview: Method Security

Engineering | Rob Winch | July 04, 2013 | ...

Update

Users should refer to the Spring Security Reference which contains more up to date information.

Original Blog Post

This is the third installment of a four part blog series. In my first post, I introduced Spring Security Java configuration and discussed some of the logistics of the project. In my previous post, we walked through a few examples of configuring web based security.

In this post, I will discuss how to configure method based security using Spring Security Java configuration. Like our previous post, we will start off with a very basic example and follow it up with an example…

Spring Security Java Config Preview: Web Security

Engineering | Rob Winch | July 03, 2013 | ...

Update

Users should refer to the Spring Security Reference which contains more up to date information.

Original Blog Post

In my previous post, I introduced Spring Security Java configuration and discussed some of the logistics of the project. In this post, we will start off by walking through a very simple web security configuration. We will then spice things up a bit with configuration that has been customized some.

Hello Web Security

In this section we go through the most basic configuration for web based security. It can be broken into four steps:

This Week in Spring - July 2nd, 2013

Engineering | Josh Long | July 03, 2013 | ...

Welcome to another installment of This Week in Spring! As usual, we've got a lot to cover so let's get to it!

  1. Spring and Cloud Foundry ninja Jennifer Hickey has announced the availability of Spring Data Redis 1.1 M1 and 1.0.5. Check it out!
  2. Spring Security lead (and ninja) Rob Winch has announced the initial availability of the Spring Security Java configuration support. Rob also just posted a very nice post (the first of four) on the new Spring Security Java configuration support. The first post addresses where you can find the new Spring Security Java configuration support.
  3. Join us on July 18th for the webinar, "Functional Programming without Lambas" which introduces ways to use functional programing in Java right now (instead of waiting for Java 8!) using Guava, LambaJ, and Functional Java.
  4. Corby Page has written a very nice post on ways to extend your REST APIs ability with his project, Yoga. In particular, it supports something called a selector which can be used to extract sub-views of the REST response to be sent back to the client. This can also be used to support what Lez Hazelwood aptly describes as entity expansions.
  5. The Crunchify blog has a nice post on how to upload multiple files with Spring MVC.
  6. SpringSource has added a new Live Online Core Spring class to the schedule for September .
  7. The Spring LDAP project has gone social and moved to GitHub!
  8. Our pal XueFeng Ding (who you may remember helped put together the blog "Spring at China Scala") has just recently given a very nice presentation on building REST APIs with Spring. I think his deck's pretty cool, so check it out!
  9. Sergey Shcherbakov recently gave a nice talk introducing a whole slew of cool things. I think his sample code is particularly worth a look. The code features Spring 4 WebSockets, XML-less Spring Batch, Reactor and AngularJS examples. Nice job, Sergey!
  10. Johnathan Mark Smith has put together a nice blog on how to use Spring Data with MongoDB. Nice job!
  11. Nicolas Frankel has put together a very nice post on some of the compelling features in Spring 3.2. Nice job, Nicolas!
  12. Nick Williams submitted a pull-request to support using Java configuration with Spring WS's MessageDispatcherServlet so that it can be configured within a ServletContextListener or a ServletContainerInitializer. Nice job, Nick!
  13. This is not specific to Spring, or Spring Batch, per-se, but the Technology AMIS blog has an interesting look at how to use the Batch JSR (which is based on Spring Batch, and designed in cooperation with the Spring Batch team) to build a download manager. (Don't worry, you don't have to use GlassFish to work with the Batch JSR!) Pretty cool! If you know Spring Batch, then a lot of this will look familiar and, as Spring Batch will also implement the JSR, should prove a very nice on-ramp for anyone who wants to use Spring Batch in the future.

Spring Security Java Config Preview: Introduction

Engineering | Rob Winch | July 02, 2013 | ...

Yesterday I announced the release of Spring Security Java Configuration support and the release of Spring Security 3.2.0.M2 which contains Java Configuration support.

Spring Security's Java Configuration support is intended to provide a complete replacement of the XML namespace configuration. It is also designed to be extensible, so that Spring Security's extension projects can work nicely with the Java Configuration support.

In this first post of a five part Spring Security Java Configuration blog series, I discuss the logistics of the Spring Security Java Configuration project.

[callout title="Required Versions"]Regardless of how you decide to integrate with Spring Security, it is important to ensure you are using Spring 3.2.3.RELEASE+ to ensure that you avoid SPR-10546.[/callout]

Availability

Before we get started, I'd like to talk about the two modules that Spring Security's Java Configuration can be found.

Availability in Spring Security 3.2.0.M2+

Spring Security Java Configuration has been copied into the Spring Security 3.2.0.M2+ code base. This means if you are using Spring Security 3.2.0.M2+ you should ensure to have the spring-security-config jar on your classpath. For example, you might have the following…

This Week in Spring - June 25, 2013

Engineering | Josh Long | June 25, 2013 | ...

Welcome back to another installment of This Week in Spring. As usual, we've got a lot to cover. In particular, you'll note that this week's roundup features a lot of great Spring Batch content. So, let's get to it -- and don't forget the SpringOne2GX early bird rate ends Aug 9th!

  1. I did a webinar introducing how to build REST APIs with Spring's rich REST stack a few weeks ago, and I'm happy to report that the talk - which introduces Spring MVC, Spring HATEOAS, Spring REST Shell, Spring Data REST, Spring Security OAuth and Spring Social in terms of a simple sample application that we refine - is now available on the SpringSourceDev YouTube Channel. As I mentioned last week, the slides are available on my SlideShare.net page and the code is available on my GitHub page. Enjoy, and don't hesitate to feedback/ask questions at josh(dot)long(at)SpringSource(dot)com!
  2. InfoQ has a great post introducing JSR 352, the Java Batch specification. If you're a Spring Batch user, then a lot of this will look very familiar! I think this is a particularly nice JSR, and encourage you to check it out. Spring
  3. Chris Schaefer has put together a brilliant Spring Batch refcard for DZone which went up yesterday, head over to DZone for the free download.
  4. Craig Walls has announced that Spring Social Facebook 1.0.3 is now available. The new release addresses breaking changes in the upcoming Facebook API revision.
  5. Gary Russell has announced that Spring AMQP 1.2.0 release candidate is now available. The new release features many improvements and bug fixes.
  6. Johnathan Mark Smith is back at it again, with a blog on RESTTemplate To Post Data to a Web Service. Nice work Jonathan!
  7. This week SpringSource is offering a four-day Groovy & Grails class in San Francisco, check it out here
  8. Our pal Tobias Flohre is back with the 4th installment of his series introducing Java configuration with Spring Batch.
  9. Leleu Jérôme has released a Spring Security Pac4J client. It has OAuth with providers, OpenID, CAS, and HTTP.
  10. Are you a Spring Champion? Enter to win a free SpringOne2GX 2013 pass!
  11. Vamsi Kancharla put together a nice sample project with Spring MVC, bean-validation, error handling (using @ControllerAdvice), protection against XSS and input form attacks, and a lot more. Check it out!
  12. Kim Saabye Pedersen put together a nice post reinforcing some useful (and hopefully well-understood!) principles of singletons in Spring.
  13. Hantsy Bai has put together a very nice post explaining how to create a Spring project from the Spring Tool Suite.

This Week in Spring - June 18, 2013

Engineering | Josh Long | June 18, 2013 | ...

Welcome back to another installation of This Week in Spring! What a week! We're fast approaching the final stretch of the journey to SpringOne2GX 2013 and preparations are underway at full tilt. This year's going to be memorable. I wish I could tell you more, but trust me when I say you need to be at this show this year! :)

Anyway, let's get on with the roundup!

  1. Mark Pollack has announced the release of Spring XD 1.0 milestone 1. Spring XD is a unified, distributed, and extensible system for data ingestion, real time analytics, batch processing, and data export. The project’s goal is to simplify the development of big data applications.
  2. Join Tony Erksine from Liberty University on June 27th as he instructs us How to talk Spring and Influence People, a pragmatic lesson on soft skills and technology adoption strategies needed to help get other people in your company excited about and using, new technology -- in this case, with Spring.
  3. Want a pass to SpringOne 2GX 2013? If you're a Spring champion, show off your stuff on our champions forum and follow these instructions by June 21, 2013. You might be one of our 5 lucky winners! (If you're a Groovy & Grails or Cloud Foundry champion, never fear, we will be rolling out future contests for you!)
  4. Head over to gopivotal.com for the next blog in the Hadoop 101 series -- How to Use Spring Batch with Spring for Apache Hadoop.
  5. We're excited to launch A Week of Spring in conjunction with Manning Publications. Check out this post for more information on great discounts for titles covering SpringSource technologies! Every day we're posting a new 50% discount code for two books.
  6. Our pal Tobias Fiohre is back at it again, this time with not one, not two, but three posts on Java configuration support for Spring Batch, just released in the latest Spring Batch 2.2.0.RELEASE of Spring Batch. The first post looks at how Spring Batch's Java configuration support compares with the XML equivalents. The second post looks at the Spring Batch StepScope, which lets you configure jobs with parameters provided at runtime (as opposed to design-time. The third post looks at how to use the new configuration style with Spring's environment profiles feature.
  7. Johnathan Mark Smith has put together a post on how use Spring MVC and Spring MVC Test
  8. Xavier Padró's has put together a nice post that introduces Spring's core Aspect-Oriented Programming support.
  9. The video replay of the webinar from the Broadleaf Commerce project on their migration from GWT to Spring MVC is now online at our SpringSourceDev YouTube channel.
  10. This isn't strictly Spring-related, but I felt it worth mentioning: Java 9 is slated to drop support for compiling Java 1.4-or-older source code. Java 8 is approaching (finally!), and Spring 4 will offer first class support for Java 8 lambas. Java 6 is EOL as of February 2013, so if you're not already on Java 7, consider just making the jump to Java 8 when it drops early next year. If you're migrating right now, definitely consider looking at Java 7 at a minimum. Spring, of course, works well with older JDK versions, but we often provide functionality specific to newer language releases if they're available. For example, we debuted annotations (like @Transactional) when Java 5 made it feasible, as an addition to our then primary support for commons annotations, even while we supported Java 1.3 and 1.4. Java 8 is no different.
  11. I did a webinar last week on building REST APIs with Spring. The webinar video will be up soon on our SpringSource Developer YouTube channel. For the many who've asked, the code is available on my GitHub account, and the slides are available on my SlideShare account. Check them out!
  12. Petri Kainulainen has put together a really detailed, easily-read post on how to plugin a property from a property file when configuring the @Scheduled annotation's CRON expression

Get the Spring newsletter

Thank you for your interest. Someone will get back to you shortly.

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring Runtime offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all