Documentation
This commit is contained in:
@@ -1,72 +0,0 @@
|
||||
# Contributing to Spring Boot
|
||||
Spring Boot is released under the non-restrictive Apache 2.0 license. If you would like
|
||||
to contribute something, or simply want to hack on the code this document should help
|
||||
you get started.
|
||||
|
||||
|
||||
## Working with the code
|
||||
If you don't have an IDE preference we would recommend that you use
|
||||
[Spring Tools Suite](http://www.springsource.com/developer/sts) or
|
||||
[Eclipse](http://eclipse.org) when working with the code. We use the
|
||||
[m2eclipe](http://eclipse.org/m2e/) eclipse plugin for maven support. Other IDEs
|
||||
and tools should also work without issue.
|
||||
|
||||
|
||||
### Building from source
|
||||
To build the source you will need to install
|
||||
[Apache Maven](http://maven.apache.org/run-maven/index.html) v3.0 or above. The project
|
||||
can be build using the standard maven command:
|
||||
|
||||
$ mvn clean install
|
||||
|
||||
If you are rebuilding often, you might also want to skip the tests until you are ready
|
||||
to submit a pull request:
|
||||
|
||||
$ mvn clean install -DskipTests
|
||||
|
||||
|
||||
### Importing into eclipse with m2eclipse
|
||||
We recommend the [m2eclipe](http://eclipse.org/m2e/) eclipse plugin when working with
|
||||
eclipse. If you don't already have m2eclipse installed it is available from the "eclipse
|
||||
marketplace".
|
||||
|
||||
Spring Boot includes project specific source formatting settings, in order to have these
|
||||
work with m2eclipse, we provide an additional eclipse plugin that you can install:
|
||||
|
||||
* Select `Install new software` from the `help` menu
|
||||
* Click `Add...` to add a new repository
|
||||
* Click the `Archive...` button
|
||||
* Select `org.eclipse.m2e.maveneclipse.site-0.0.1-SNAPSHOT-site.zip`
|
||||
from the `eclipse` folder in this checkout
|
||||
* Install "Maven Integration for the maven-eclipse-plugin"
|
||||
|
||||
_NOTE: This plugin is optional. Projects can be imported without the plugin, your code
|
||||
changes just won't be automatically formatted._
|
||||
|
||||
With the requisite eclipse plugins installed you can select
|
||||
`import existing maven projects` from the `file` menu to import the code. You will
|
||||
need to import the root `spring-boot` pom and the `spring-boot-samples` pom separately.
|
||||
|
||||
|
||||
### Importing into eclipse without m2eclipse
|
||||
If you prefer not to use m2eclipse you can generate eclipse project meta-data using the
|
||||
following command:
|
||||
|
||||
$ mvn eclipse:eclipse
|
||||
|
||||
The generated eclipse projects can be imported by selecting `import existing projects`
|
||||
from the `file` menu.
|
||||
|
||||
### Importing into other IDEs
|
||||
Maven is well supported by most Java IDEs. Refer to you vendor documentation.
|
||||
|
||||
|
||||
### Integration tests
|
||||
|
||||
The sample application are used as integration tests during the build
|
||||
(when you `mvn install`). Due to the fact that they make use of the
|
||||
`spring-package-maven-plugin` they cannot be called directly, and so
|
||||
instead are launched via the `maven-invoker-plugin`. If you encounter
|
||||
build failures running the integration tests, check the `build.log`
|
||||
file in the appropriate sample directory.
|
||||
|
||||
153
docs/SCRAPBOOK.md
Normal file
153
docs/SCRAPBOOK.md
Normal file
@@ -0,0 +1,153 @@
|
||||
# Docs without a home as yet :(
|
||||
|
||||
|
||||
|Feature |Implementation |Notes |
|
||||
|---|---|---|
|
||||
|Launch Spring from Java main |SpringApplication | Plenty of convenience methods and customization opportunities |
|
||||
|Server |Tomcat or Jetty | |
|
||||
|Logging |Logback, Log4j or JDK | Sensible defaults configurations. |
|
||||
|Externalized configuration | Properties or YAML | Support for Spring profiles. Bind automatically to @Bean. |
|
||||
|
||||
For a quick introduction and to get started quickly with a new
|
||||
project, carry on reading. For more in depth coverage of the features
|
||||
of Spring Boot.Strap, go to the [Feature Guide](docs/Features.md).
|
||||
|
||||
# Getting Started
|
||||
|
||||
You will need Java (6 at least) and a build tool (Maven is what we use
|
||||
below, but you are more than welcome to use gradle). These can be
|
||||
downloaded or installed easily in most operating systems. For Ubuntu:
|
||||
|
||||
$ sudo apt-get install openjdk-6-jdk maven
|
||||
|
||||
<!--FIXME: short instructions for Mac.-->
|
||||
|
||||
## A basic project
|
||||
|
||||
If you are using Maven create a really simple `pom.xml` with 2 dependencies:
|
||||
|
||||
`pom.xml`
|
||||
|
||||
```
|
||||
<project>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.mycompany</groupId>
|
||||
<artifactId>myproject</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
<properties>
|
||||
<start-class>com.mycompany.Application</start-class>
|
||||
</properties>
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-starter-parent</artifactId>
|
||||
<version>{{project.version}}</version>
|
||||
</parent>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-starter</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-package-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
```
|
||||
|
||||
If you like Gradle, that's fine, and you will know what to do with
|
||||
those dependencies. The one dependency adds Spring Boot.Config auto
|
||||
configuration and the Tomcat container to your application. If you
|
||||
prefer Jetty you can just add the embedded Jetty jars to your
|
||||
classpath instead of Tomcat.
|
||||
|
||||
Now write a simple main class
|
||||
|
||||
`Application.java`
|
||||
```
|
||||
package com.mycompany;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
public class Application {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(Application.class, args);
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
You should be able to run it already:
|
||||
|
||||
$ mvn package
|
||||
$ java -jar target/myproject-1.0.0-SNAPSHOT.jar
|
||||
|
||||
. ____ _ __ _ _
|
||||
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
|
||||
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
|
||||
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
|
||||
' |____| .__|_| |_|_| |_\__, | / / / /
|
||||
=========|_|==============|___/=/_/_/_/
|
||||
Spring Bootstrap
|
||||
|
||||
2013-07-19 17:13:51.673 INFO 18937 --- [ main] com.mycompany.Application ...
|
||||
... <logs showing application starting up>
|
||||
|
||||
It doesn't do anything yet, but that's because all we did is start a
|
||||
Spring `ApplicationContext` and let it close when the JVM stopped.
|
||||
|
||||
To make it do something a little bit more interesting you could bind
|
||||
some command line arguments to the application:
|
||||
|
||||
`Application.java`
|
||||
```
|
||||
@Configuration
|
||||
@ConfigurationProperties
|
||||
@EnableConfigurationProperties
|
||||
public class Application {
|
||||
|
||||
private String message;
|
||||
|
||||
@Override
|
||||
public void run(String... args) throws Exception {
|
||||
System.err.println(message);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(Application.class, args);
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
The `@ConfigurationProperties` annotation binds the Spring
|
||||
`Environment` (including command line arguments) to the `Application`
|
||||
instance, and `CommandLineRunner` is a marker interface for anything
|
||||
you want to be executed after the content is started. So run it
|
||||
again and you will see the message:
|
||||
|
||||
```
|
||||
$ mvn package
|
||||
$ java -jar target/myproject-1.0.0-SNAPSHOT.jar --message="Hello World"
|
||||
...
|
||||
Hello World
|
||||
```
|
||||
|
||||
To add more features, add some `@Bean` definitions to your
|
||||
`Application` class, and read more in the
|
||||
[Feature Guide](docs/Features.md).
|
||||
Reference in New Issue
Block a user