1. 18 Feb, 2014 5 commits
    • Dave Syer's avatar
      Revert change that breaks tests in werid way · c973847d
      Dave Syer authored
      c973847d
    • Dave Syer's avatar
      Investigated JSP support · b088f600
      Dave Syer authored
      Summary: Tomcat works with WARs. Jetty doesn't work.
      
      See gh-367
      b088f600
    • Dave Syer's avatar
      Update YAML refs in docs · da26c614
      Dave Syer authored
      da26c614
    • Dave Syer's avatar
      Add snakeyaml to spring-boot-starter · 8778e827
      Dave Syer authored
      Fixes gh-366
      8778e827
    • Dave Syer's avatar
      Add support for Spring Loaded in Maven and Gradle · 77bac876
      Dave Syer authored
      Requires Loaded 1.1.5 (or better).
      
      For Maven you can just add springloaded to the dependencies of the
      spring-boot plugin (and also set MAVEN_OPTS=-noverify).
      
      For Gradle add springloaded to the build dependencies (-noverify
      can be added by the plugin).
      
      In both cases there is also support for adding an arbitrary java agent
      via configuration. Samples are provided in
      spring-boot-sample-[simple,web-ui].
      
      The ApplicationPlugin is only added if there is no JavaExec task
      already present, and additionally it computes its own man class if
      none is provided. So "gradle run" and "gradle bootRun" look
      superficially similar, but "bootRun" has extra options, including
      the agent and Loaded support.
      
      Fixes gh-251, gh-183
      77bac876
  2. 17 Feb, 2014 6 commits
    • Dave Syer's avatar
      Be defensive about Spring Security dependencies · f888567c
      Dave Syer authored
      In particular don't assume that Spring Security Web is on the
      classpath, just because Spring Security Core is.
      
      Fixes gh-363
      f888567c
    • Jakub Kubrynski's avatar
      Consider FactoryBean classes in OnBeanCondition · 5d591edb
      Jakub Kubrynski authored
      Update OnBeanCondition to attempt to consider FactoryBean classes
      for bean type matches. To ensure early instantiation does not occur, the
      object type from the FactoryBean is deduced by resolving generics on the
      declaration.
      
      Fixes gh-355
      5d591edb
    • Dave Syer's avatar
      Straighten out profile ordering semantics · fa9a506e
      Dave Syer authored
      Here's what I think works best:
      
      * Any profile in the Environment before application.yml
      is processed takes precedence (i.e. it will be last in the
      list of active profiles in the live app)
      
      * Any profile in the Environment before SpringApplication
      starts takes precedence (so any added on the command line or
      with System properties come after ones added using
      the SpringApplication API)
      
      * The order of profiles in application.yml is irrelevant -
      profiles are applied in the order they come out of
      Environment.getActiveProfiles()
      
      Fixes gh-342
      fa9a506e
    • Dave Syer's avatar
      Add test case for profile ordering · d5de29b7
      Dave Syer authored
      The command line profile (or equivalently System property) is
      not winning right now. Arguably that should be fixed. (Thinking...)
      
      Relevant to gh-342
      d5de29b7
    • Andy Wilkinson's avatar
      Dependency version upgrades · 05fd50d1
      Andy Wilkinson authored
       - spring-integration-core 3.0.1.RELEASE (closes #360)
       - Logback 1.1.1 (closes #361)
       - maven-settings-builder 3.1.1 (closes #359)
       - maven-aether-provider 3.1.1 (closes #356)
       - jopt-simple 4.6 (closes #357)
       - SLF4J 1.7.6 (closes #318)
      05fd50d1
    • Dave Syer's avatar
      Add some tests for profile behaviour · 842e037b
      Dave Syer authored
      Ordering: profiles are applied in order (from the active profiles
      list in the Environment), with the last one winning as far as
      property values goes. This *does* mean that a profile activated
      inside application.yml is applied last and hence takes precedence.
      It's debatable whether that is the right semantics, but that's
      what it is for now.
      
      Re gh-342: a profile added via SpringApplication also takes
      precedence over one added on the command line. Also debatable
      but at least it's predictable.
      
      Naming: a profile adds "#<profile>" to the end of a property source
      name (no more, no less)
      842e037b
  3. 16 Feb, 2014 1 commit
  4. 14 Feb, 2014 1 commit
  5. 13 Feb, 2014 9 commits
  6. 12 Feb, 2014 11 commits
    • Phillip Webb's avatar
      A few more package tweaks · 4a58171b
      Phillip Webb authored
      Improve package structure and include package-info javadoc.
      4a58171b
    • Phillip Webb's avatar
      Polish · 69e7fb4c
      Phillip Webb authored
      69e7fb4c
    • Phillip Webb's avatar
      Revert "Add generator app for simple table of *AutoConfiguration" · a61a4509
      Phillip Webb authored
      This reverts commit 89283e46.
      
      Revert until we can find a new home, outside of the usual build
      process.
      a61a4509
    • Phillip Webb's avatar
      Load profile files that include 'spring.profiles' · c3709235
      Phillip Webb authored
      Fix ConfigFileApplicationListener to load profile specific files
      (*-profile.ext) both as a root document, and again with the profile
      active.
      
      This allows profile specific files to still include a 'spring.profiles'
      property if they wish.
      
      Issue: gh-340
      c3709235
    • Dave Syer's avatar
      Add generator app for simple table of *AutoConfiguration · 89283e46
      Dave Syer authored
      Run with "mvn spring-boot:run" and then scrape the Markdown from stdout.
      (Result already added to docs/autoconfig.md.)
      89283e46
    • Dave Syer's avatar
      Generate a list of autoconfig for docs · 52ba2f40
      Dave Syer authored
      52ba2f40
    • Oliver Gierke's avatar
      Upgraded to Spring Data Codd · 929bd902
      Oliver Gierke authored
      Update AbstractRepositoryConfigurationSourceSupport to use the newly
      introduced RepositoryConfigurationDelegate instead of effectively
      reimplementing Spring Data Commons functionality which was prone to
      changes in the API (code that wasn't considered to be API in the first
      place).
      
      Switch from implementing BeanClassLoaderAware to ResourceLoaderAware
      to avoid having to set up a DefaultResourceLoader which should also
      improve IDE integration.
      
      Fixes gh-236
      929bd902
    • Dave Syer's avatar
      Defensive catch block in LogbackLoggingSystem · be735356
      Dave Syer authored
      Older versions of JBoss AS have a classpath clash with an older
      SLF4J (pre 1.6.5), so to prevent an app from blowing up on
      startup we defensively catch a NoSuchMethodError.
      
      Fixes gh-339
      be735356
    • Phillip Webb's avatar
      Refactor PropertySource support · f0bfecd3
      Phillip Webb authored
      Locate PropertySourcesLoaders using SpringFactoriesLoader and refactor
      the interface to expose file extensions and support 'profiles' within
      documents.
      
      Rework ConfigFileApplicationListener for consistent profile loading.
      Profiles are now loaded in a consistent order for both profile specific
      files, and contained profile documents (i.e. YAML sub-sections).
      
      Also update ConfigFileApplicationListener so that it no longer directly
      processes @ProperySource annotations. Instead the standard Spring
      ConfigurationClassPostProcessor will insert @PropertySource items with
      ConfigFileApplicationListener later re-ordering them.
      
      The SpringApplication can no longer be configured using @ProperySource
      annotations, however, application.properties may still be used.
      
      Fixes gh-322
      f0bfecd3
    • Phillip Webb's avatar
      Consistent property source ordering with names · 06494e06
      Phillip Webb authored
      Update ConfigFileApplicationListener so that custom names and custom
      locations use consistent ordering. i.e. earlier items take precedence
      (same as @ProperySource).
      06494e06
    • Phillip Webb's avatar
      Polish ConfigFileApplicationListenerTests · 52c42059
      Phillip Webb authored
      Add "my.property" to `application.properties` in order to test ordering
      or property sources.
      
      Also use hamcrest for assertions.
      52c42059
  7. 11 Feb, 2014 7 commits
    • Phillip Webb's avatar
      Consistent javadoc "code" block formatting · 9ab886f4
      Phillip Webb authored
      Update javadoc to consistently use the "code" style with <pre> blocks.
      Also include the latest spring-javadoc.css formatting file.
      
      Fixes gh-332
      9ab886f4
    • Phillip Webb's avatar
      Don't register shutdown hook from embedded context · b21f56a2
      Phillip Webb authored
      Change `EmbeddedWebApplicationContext` to no longer automatically call
      `registerShutdownHook()`. Shutdown hooks must now be registered by the
      caller (for users of SpringApplication this will happen automatically).
      
      Fixes gh-314
      b21f56a2
    • Phillip Webb's avatar
      Polish · 5863795e
      Phillip Webb authored
      5863795e
    • Dave Syer's avatar
      Merge pull request #336 from jkubrynski/master · 2f138d84
      Dave Syer authored
      * pull336:
        Now custom SpringApplication class can be used when extending SpringApplicationContextLoader
      2f138d84
    • Jakub Kubrynski's avatar
    • Dave Syer's avatar
      Add placeholder resolution to @PropertySource processing · 76c56c6a
      Dave Syer authored
      Previously the core Spring processing of @PropertySource would
      resolve placeholders in the location attribute, but the pre-loading
      of the property source by Spring Boot didn't do that. Now implemented
      using Environment.resolvePlaceholders() (N.B. at a time when the only
      Environment entries available are system properties and OS env vars).
      
      E.g.
      
      	@Configuration
      	@PropertySource("classpath:/${source.location}.properties")
      	protected static class WithPropertySourcePlaceholders {
                 ...
      	}
      76c56c6a
    • Andy Wilkinson's avatar
      Fix binding of overlapping nested maps · ca7201b4
      Andy Wilkinson authored
      When binding a nested map structure, RelaxedDataBinder pre-populates
      the target object with default empty maps. Previously, when these
      structures overlapped, each step in pre-population process could
      potentially overwrite what had come before it. This led to the output
      of the pre-population process being incomplete which would lead to a
      binding failure.
      
      This commit updates the pre-population process so that it checks to see
      if a property's value has already been set by an earlier step in the
      process. If it has been set, the existing value is now reused rather
      than being overwritten by a new empty map.
      
      Fixes #328
      ca7201b4