@RestController class ThisWillActuallyRun { @RequestMapping("/") String home() { return "Hello World!" } }
$ spring run app.groovy
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.doj</groupId> <artifactId>my-spring-boot-project</artifactId> <version>0.0.1-SNAPSHOT </version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.5.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <properties> <java.version>1.8</java.version> </properties> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
package hello; import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.stereotype.*; import org.springframework.web.bind.annotation.*; @Controller @EnableAutoConfiguration public class SampleController { @RequestMapping("/") @ResponseBody String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(SampleController.class, args); } }
$ mvn package $ java -jar target/ my-spring-boot-project-0.0.1-SNAPSHOT.jar
Name | Description | Pom |
spring-boot-starter-test | Starter for testing Spring Boot applications with libraries including JUnit, Hamcrest and Mockito | Pom |
spring-boot-starter-mobile | Starter for building web applications using Spring Mobile | Pom |
spring-boot-starter-social-twitter | Starter for using Spring Social Twitter | Pom |
spring-boot-starter-cache | Starter for using Spring Framework’s caching support | Pom |
spring-boot-starter-activemq | Starter for JMS messaging using Apache ActiveMQ | Pom |
spring-boot-starter-jta-atomikos | Starter for JTA transactions using Atomikos | Pom |
spring-boot-starter-aop | Starter for aspect-oriented programming with Spring AOP and AspectJ | Pom |
spring-boot-starter-web | Starter for building web, including RESTful, applications using Spring MVC. Uses Tomcat as the default embedded container | Pom |
spring-boot-starter-data-elasticsearch | Starter for using Elasticsearch search and analytics engine and Spring Data Elasticsearch | Pom |
spring-boot-starter-jdbc | Starter for using JDBC with the Tomcat JDBC connection pool | Pom |
spring-boot-starter-batch | Starter for using Spring Batch, including HSQLDB in-memory database | Pom |
spring-boot-starter-social-facebook | Starter for using Spring Social Facebook | Pom |
spring-boot-starter-web-services | Starter for using Spring Web Services | Pom |
spring-boot-starter-jta-narayana | Spring Boot Narayana JTA Starter | Pom |
spring-boot-starter-thymeleaf | Starter for building MVC web applications using Thymeleaf views | Pom |
spring-boot-starter-mail | Starter for using Java Mail and Spring Framework’s email sending support | Pom |
spring-boot-starter-jta-bitronix | Starter for JTA transactions using Bitronix | Pom |
spring-boot-starter-data-mongodb | Starter for using MongoDB document-oriented database and Spring Data MongoDB | Pom |
spring-boot-starter-validation | Starter for using Java Bean Validation with Hibernate Validator | Pom |
spring-boot-starter-jooq | Starter for using jOOQ to access SQL databases. An alternative to spring-boot-starter-data-jpa or spring-boot-starter-jdbc | Pom |
spring-boot-starter-redis | Starter for using Redis key-value data store with Spring Data Redis and the Jedis client. Deprecated as of 1.4 in favor of spring-boot-starter-data-redis | Pom |
spring-boot-starter-data-cassandra | Starter for using Cassandra distributed database and Spring Data Cassandra | Pom |
spring-boot-starter-hateoas | Starter for building hypermedia-based RESTful web application with Spring MVC and Spring HATEOAS | Pom |
spring-boot-starter-integration | Starter for using Spring Integration | Pom |
spring-boot-starter-data-solr | Starter for using the Apache Solr search platform with Spring Data Solr | Pom |
spring-boot-starter-freemarker | Starter for building MVC web applications using Freemarker views | Pom |
spring-boot-starter-jersey | Starter for building RESTful web applications using JAX-RS and Jersey. An alternative to spring-boot-starter-web | Pom |
spring-boot-starter | Core starter, including auto-configuration support, logging and YAML | Pom |
spring-boot-starter-data-couchbase | Starter for using Couchbase document-oriented database and Spring Data Couchbase | Pom |
spring-boot-starter-artemis | Starter for JMS messaging using Apache Artemis | Pom |
spring-boot-starter-cloud-connectors | Starter for using Spring Cloud Connectors which simplifies connecting to services in cloud platforms like Cloud Foundry and Heroku | Pom |
spring-boot-starter-social-linkedin | Stater for using Spring Social LinkedIn | Pom |
spring-boot-starter-velocity | Starter for building MVC web applications using Velocity views. Deprecated since 1.4 | Pom |
spring-boot-starter-data-rest | Starter for exposing Spring Data repositories over REST using Spring Data REST | Pom |
spring-boot-starter-data-gemfire | Starter for using GemFire distributed data store and Spring Data GemFire | Pom |
spring-boot-starter-groovy-templates | Starter for building MVC web applications using Groovy Templates views | Pom |
spring-boot-starter-amqp | Starter for using Spring AMQP and Rabbit MQ | Pom |
spring-boot-starter-hornetq | Starter for JMS messaging using HornetQ. Deprecated as of 1.4 in favor of spring-boot-starter-artemis | Pom |
spring-boot-starter-ws | Starter for using Spring Web Services. Deprecated as of 1.4 in favor of spring-boot-starter-web-services | Pom |
spring-boot-starter-security | Starter for using Spring Security | Pom |
spring-boot-starter-data-redis | Starter for using Redis key-value data store with Spring Data Redis and the Jedis client | Pom |
spring-boot-starter-websocket | Starter for building WebSocket applications using Spring Framework’s WebSocket support | Pom |
spring-boot-starter-mustache | Starter for building MVC web applications using Mustache views | Pom |
spring-boot-starter-data-neo4j | Starter for using Neo4j graph database and Spring Data Neo4j | Pom |
spring-boot-starter-data-jpa | Starter for using Spring Data JPA with Hibernate | Pom |
Name | Servlet Version | Java Version |
Tomcat 8 | 3.1 | Java 7+ |
Tomcat 7 | 3.0 | Java 6+ |
Jetty 9 | 3.1 | Java 7+ |
Jetty 8 | 3.0 | Java 6+ |
Undertow 1.1 | 3.1 | Java 7+ |
import javax.cache.annotation.CacheResult; import org.springframework.stereotype.Component; @Component public class MathService { @CacheResult public int computePiDecimal(int i) { // ... } }
Labels: Spring Boot