Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

spring boot

No description
by

Dennis Leon

on 24 September 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of spring boot

spring-boot-starter-test
Spock (Spec + Mock)
@IntegrationTest
@SpringApplicationConfiguration vs @ContextConfiguration
Testing
Thanks
Spring boot
"Spring-powered, production-grade applications and services with absolute minimum fuss"
What is spring boot
Helpful Tools
Autoconfiguration
Embedded Jetty
Remote-shell
Testing!!!

We will cover:
Autoconfiguration
"Guess driven development"
@EnableAutoConfiguration

1. Spring *may* check classes on the classpath.
2. Spring *may* check expressions (Spel).
3. Spring *may* check beans
Example:

LiquibaseAutoConfiguration
http://localhost:8080/autoconfig
spring-boot-starter-actuator
--debug
Great for quickly + easily getting a project up and running.
Once up and running in the wild, configure services / beans accordingly
But...
Embedded Jetty
Remote Shell
Jetty 9 works with Spring Boot, but the default is to use Jetty 8
Add jetty to the classpath
Spring Boot supports an integrated Java shell called “CRaSH”
shell.auth.simple.user.name=development
shell.auth.simple.user.password=password
Demo:
Scissors Paper Rock Lizard Spock
Spock framework
@IntegrationTest



spring-boot-starter-parent
spring-boot-maven-plugin
spring-boot-starter-*

Helpful Maven "Tools"
Java 1.6 as the default compiler level.
UTF-8 source encoding.
A Dependency Management section
Resource filtering.
Plugin configuration (exec plugin, surefire, Git commit ID, shade).
contd...
spring-boot-starter-parent
Starter POMs
"set of convenient dependency descriptors that you can include"
example:
spring-boot-starter-web
Support for full-stack web development, including Tomcat and spring-webmvc.

Quick Demo...
Quick Demo
Opinionated
Convention
Over
Configuration
Spring Boot over spring
Automatic Config
Standalone Apps
Embedded Containers
Starter + Example Builds
Metrics (Actuator)
No XML!
Groovy
"Containerless and installed"
James Lewis: "Java, the unix way"
Benefits testing (inproctester) and eases deployment
Container configuration is not isolated from the code. (jetty.xml)
Installed in the same way you would install httpd or any other application.
wheel re-invention: don't do it.
Why Embedded?
<module>spring-boot-starter-amqp</module>
<module>spring-boot-starter-aop</module>
<module>spring-boot-starter-batch</module>
<module>spring-boot-starter-data-elasticsearch</module>
<module>spring-boot-starter-data-gemfire</module>
<module>spring-boot-starter-data-jpa</module>
<module>spring-boot-starter-data-mongodb</module>
<module>spring-boot-starter-data-rest</module>
<module>spring-boot-starter-data-solr</module>
<module>spring-boot-starter-freemarker</module>
<module>spring-boot-starter-groovy-templates</module>
<module>spring-boot-starter-hornetq</module>
<module>spring-boot-starter-integration</module>
<module>spring-boot-starter-jdbc</module>
<module>spring-boot-starter-jetty</module>
<module>spring-boot-starter-logging</module>
<module>spring-boot-starter-log4j</module>
<module>spring-boot-starter-mobile</module>
<module>spring-boot-starter-actuator</module>
<module>spring-boot-starter-parent</module>
<module>spring-boot-starter-redis</module>
<module>spring-boot-starter-security</module>
<module>spring-boot-starter-social-facebook</module>
<module>spring-boot-starter-social-twitter</module>
<module>spring-boot-starter-social-linkedin</module>
<module>spring-boot-starter-remote-shell</module>
<module>spring-boot-starter-test</module>
<module>spring-boot-starter-thymeleaf</module>
<module>spring-boot-starter-tomcat</module>
<module>spring-boot-starter-velocity</module>
<module>spring-boot-starter-web</module>
<module>spring-boot-starter-websocket</module>
<module>spring-boot-starter-ws</module>
Demo:
Pom.xml
Git commit id
msr instead of mjr
Quick Demo
http://start.spring.io/ (wizard web-based)
http://tinyurl.com/pyroboa (archetypes)
http://tinyurl.com/nzvvf22 (spring-loaded)
More tooling:
SpringSource lives on?

http://tinyurl.com/mtmg4o5
Full transcript