1. 04 Nov, 2014 3 commits
  2. 03 Nov, 2014 17 commits
    • Dave Syer's avatar
      Add documentation for Servlet 2.5 and GAE · 9b6cb83b
      Dave Syer authored
      Fixes gh-1104
      9b6cb83b
    • Dave Syer's avatar
      Add JMX MBean for Tomcat DataSource · f304d469
      Dave Syer authored
      If the DataSource is a Tomcat one we force it to register an MBean
      if spring.jmx.enabled=true
      
      Fixes gh-1590
      f304d469
    • Stephane Nicoll's avatar
      Add examples to the CLI · 0061f237
      Stephane Nicoll authored
      This commit updates the help command to also show some example(s) to
      illustrate how the command can be used. The commit also defines useful
      examples for the init command
      
      Fixes gh-1809
      0061f237
    • Stephane Nicoll's avatar
      Fix build failure · fb0d9d2a
      Stephane Nicoll authored
      This commit reworks a7e1ec84 to fix the build failure and update the
      documentation regarding default maven filtering option with
      spring-boot-starter-parent
      
      Fixes gh-1199
      fb0d9d2a
    • Stephane Nicoll's avatar
      Explicit type takes precedence over build and format · 6a18ece6
      Stephane Nicoll authored
      Prior to this commit, specifying the --format and/or --build options
      alongside --type did not use the explicit type as it should. This commit
      ignores the --build and --format options if a type is explicitly set.
      
      Fixes gh-1807
      6a18ece6
    • Andy Wilkinson's avatar
      Update to Spring Data Evans SR1 · a85e02fb
      Andy Wilkinson authored
      Closes gh-1709
      a85e02fb
    • Dave Syer's avatar
      Use @*@ delimiters in Maven resource filtering · a7e1ec84
      Dave Syer authored
      It *is* very useful to have filtering on by default, so that is now
      the case (in spring-boot-starter-parent). Users can filter resources
      by default by adding @*@ placeholders (so as not to clash with Spring
      ${} placeholders).
      
      Fixes gh-1199
      a7e1ec84
    • Stephane Nicoll's avatar
      Init command takes the output as last argument · 2e07f003
      Stephane Nicoll authored
      This commit moves the --output switch to a regular argument. This aligns
      to other command, i.e. spring init my-project.zip would save the project
      to "my-project.zip" in the current directory.
      
      This commit also auto-detects the --extract option if the location ends
      with a slash, i.e. spring init demo/ would extract the content of the
      project in a demo directory that is local to the current directory.
      
      Fixes gh-1802
      2e07f003
    • Stephane Nicoll's avatar
      polishing · 96198e29
      Stephane Nicoll authored
      96198e29
    • Dave Syer's avatar
      Trim some fat from groovy templates · 3e97cdbc
      Dave Syer authored
      The old resolver class is deprecated already, and there's no reason
      to continue to support the View and View resolver implementations
      from Boot 1.1, so I removed those. Also there is no need to support
      older versions of Groovy, so I removed a config class that was
      conditional on a groovy version (by looking for the markup support).
      
      Fixes gh-1578
      3e97cdbc
    • Brian Clozel's avatar
      Migrate to groovy templates from Spring 4.1 · 18b89293
      Brian Clozel authored
      Update `GroovyTemplateAutoConfiguration` to use Spring 4.1 Groovy
      Markup Template infrastructure instead of Boot's.
      
      Fixes gh-1552
      18b89293
    • Phillip Webb's avatar
      Merge branch 'gh-1001' · 7dd6ae76
      Phillip Webb authored
      7dd6ae76
    • Phillip Webb's avatar
      Document configuration meta-data · 9d01d4fa
      Phillip Webb authored
      Add an appendix to the reference documentation describing the format
      of configuration meta-data and how the annotation processor can be used.
      
      Closes gh-1001
      9d01d4fa
    • Stephane Nicoll's avatar
      Add @NestedConfigurationProperty meta-data support · a46396f6
      Stephane Nicoll authored
      Add a @NestedConfigurationProperty annotation which can be used to
      customize how configuration mete-data is generated.
      
      Prior to this commit only inner-classes where considered nested
      (see Tomcat in ServerProperties). Using this new annotation, the Ssl
      property in ServerProperties can be detected as well.
      
      See gh-1001
      a46396f6
    • Stephane Nicoll's avatar
      Generate standard configuration meta-data · fbf8f56a
      Stephane Nicoll authored
      Update the `spring-boot`, `spring-boot-autoconfigure` and
      `spring-boot-actuator` project to generate configuration meta-data
      files during compilation.
      
      See gh-1001
      fbf8f56a
    • Phillip Webb's avatar
      Add a defaultValue attribute to config meta-data · c73adcd1
      Phillip Webb authored
      Update `ConfigurationMetadataAnnotationProcessor` to include the
      'defaultValue' of a property when possible. For example the
      'defaultValue' or 'server.port' is '8080'.
      
      Default values are detected by inspecting the field assignments of
      @ConfigurationProperties items. In order to detect field values some
      internals of the Java compiler are used. To save a dependency on
      'tools.jar' internal javac classes are accessed using reflection.
      
      See gh-1001
      c73adcd1
    • Stephane Nicoll's avatar
      Add processor to generate configuration meta-data · 884c058e
      Stephane Nicoll authored
      Adds an annotation processor to generates a JSON meta-data file at
      compile time from @ConfigurationProperties items. Each meta-data file
      can include an array or 'properties' and 'groups'.
      
      A 'property' is a single item that may appear in a Spring Boot
      'application.properties' file with a given value. For example,
      'server.port' and 'server.context-path' are properties. Each property
      may optionally include 'type' and 'description' attributes to provide
      the data type (e.g. `java.lang.Integer`, `java.lang.String`) and
      some short documentation (taken from the field javadoc) about what the
      property is for. For consistency, the type of a primitive is translated
      to its wrapper counterpart, i.e. `boolean` becomes `java.lang.Boolean`.
      
      A 'group' provides a higher level grouping of properties. For example
      the 'server.port' and 'server.context-path' properties are in the
      'server' group.
      
      Both 'property' and 'group' items may additional have 'sourceType' and
      'sourceMethod' attributes to indicate the source that contributed them.
      
      Users may use `META-INF/additional-spring-configuration-metadata.json`
      to manually provide additionally meta-data that is not covered by
      @ConfigurationProperties objects. The contents of this file will be
      read and merged with harvested items. The complete meta-data file is
      finally written to `META-INF/spring-configuration-metadata.json`.
      
      See gh-1001
      884c058e
  3. 02 Nov, 2014 5 commits
    • Phillip Webb's avatar
      Improve OnBeanCondition Performance · 45b579c4
      Phillip Webb authored
      Update OnBeanCondition to use a new BeanTypeRegistry which includes
      optimized code when using a DefaultListableBeanFactory. The optimized
      version calculates bean types only once per bean and caches the result.
      
      Prior to this change the sample "pet clinic" application would spend
      400-500 milliseconds evaluating OnBeanConditions, after this change it
      spends around 120 milliseconds.
      
      Fixes gh-1803
      45b579c4
    • Phillip Webb's avatar
      Merge branch '1.1.x' · d6f2f0de
      Phillip Webb authored
      d6f2f0de
    • Phillip Webb's avatar
      Use more specific WebSecurityConfigurer @Bean type · 5f80f355
      Phillip Webb authored
      Update ManagementSecurityAutoConfiguration to return
      IgnoredPathsWebSecurityConfigurerAdapter rather than
      WebSecurityConfigurer<WebSecurity>.
      5f80f355
    • Phillip Webb's avatar
      Merge remote-tracking branch 'springsource/1.1.x' · a490aef8
      Phillip Webb authored
      Conflicts:
      	spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/SecurityAutoConfigurationTests.java
      a490aef8
    • Phillip Webb's avatar
      Polish · 8ba71c88
      Phillip Webb authored
      8ba71c88
  4. 01 Nov, 2014 6 commits
  5. 31 Oct, 2014 4 commits
    • Dave Syer's avatar
      Switch to Dropwizard metrics 3.1.0 · 49fbf215
      Dave Syer authored
      Fixes gh-1775
      49fbf215
    • Dave Syer's avatar
      Add missing method for Java 1.7 · afb71568
      Dave Syer authored
      afb71568
    • Dave Syer's avatar
      Add Codahale metrics to /metrics endpoint · a284d7bd
      Dave Syer authored
      All metrics in the MetricRegistry have been added unconditionally for now.
      
      Fixes gh-1795
      a284d7bd
    • Stephane Nicoll's avatar
      Add init command to the CLI · b2fe2dd9
      Stephane Nicoll authored
      This commit adds a new command to the CLI that allows to initialize a new
      project from the command line. It uses the Spring initializr service to
      actually generate the project.
      
      The command offers two main operations:
      
      1. Listing the capabilities of the service (--list or -l). This basically
      dumps the defaults of a given service and the list of dependencies and
      project types it supports
      2. Generating a project. By default, http://start.spring.io is used and
      its configured defaults are applied. Running spring init would therefore
      have the same effect as clicking the 'generate project' on the UI without
      entering any extra information. No file is overwritten by default.
      
      The generation can be customized with the following options:
      
      * --boot-version (-bv) Spring Boot version the project should use
      * --dependencies (-d) comma separated list of dependencies to add to the
      generated project
      * --java-version (-jv) Java version to use
      * --packaging (-p) the packaging for the project (jar, war)
      * --target the url of the service to use
      
      The actual type of the project can be defined in several ways:
      
      1. Using the --type (-t) option that identifies a type that is supported
      by the service
      2. A combination of --build and/or --format that can be used to uniquely
      identify matching these tags. Build represents the build system to use
      (e.g. maven or gradle) while --format defines the format of the generated
      project.
      
      The project is saved on disk with the name provided by the server through
      the Content-Disposition header, if any. It is possible to force it with
      the --output option. It is possible to overwrite existing files by adding
      the --force (-f) flag.
      
      The --extract (-x) option allows to extract the project instead of saving
      the zip archive. By default, the project is extracted in the current
      working directory but it is possible to specify an alternate directory
      using the --output option.
      
      Fixes gh-1751
      b2fe2dd9
  6. 30 Oct, 2014 5 commits
    • Phillip Webb's avatar
      Upgrade to Spring 4.1.2.BUILD-SNAPSHOT · 4b45ce9e
      Phillip Webb authored
      4b45ce9e
    • Phillip Webb's avatar
      Programmatically configure logback defaults · 931add4a
      Phillip Webb authored
      Update LogbackLoggingSystem to programmatically configure logback
      defaults rather than parsing XML. This change shaves about 100ms off
      the start up time.
      
      Fixes gh-1796
      931add4a
    • Andy Wilkinson's avatar
      Merge branch '1.1.x' · 36ffad2b
      Andy Wilkinson authored
      36ffad2b
    • Andy Wilkinson's avatar
      Make GroovyWebConfiguration conditional on spring-webmvc's availability · 0f171423
      Andy Wilkinson authored
      GroovyWebConfiguration creates a GroovyTemplateViewResolver which is
      a UrlBasedViewResolver sub-class. UrlBasedViewResolver is provided
      by spring-webmvc. Previously, if a user configured a web application
      but did not have spring-webmvc on the classpath, the application
      would fail to start with a NoClassDefFoundError for
      UrlBasedViewResolver.
      
      This commit makes GroovyWebConfiguration conditional on
      UrlBasedViewResolver being on the classpath so that it backs of in
      the absence of spring-webmvc.
      
      Fixes gh-1793
      0f171423
    • Andy Wilkinson's avatar
      Make Spring Security's filter's order configurable and default to zero · 0cdb1d3f
      Andy Wilkinson authored
      Previously, Spring Security's filter had no configured order. Due to
      the use of AnnotationAwareOrderComparater this meant that its order
      defaulted to LOWEST_PRECEDENCE. This meant that a user had to declare
      a FilterRegistrationBean for the filter and explicitly set its order
      if they want another filter to run after Spring Security's.
      
      This commit updates the security auto-configuration to assign a
      default order of zero to Spring Security's filter, allowing filters
      to be easily configured to run before it or after it. This default
      value can overridden using the server.filter-order property. The
      default order is also exposed as a constant on SecurityProperties,
      allowing it to be referenced from other filter declarations.
      
      Closes gh-1640
      0cdb1d3f