Commit Graph

240 Commits (c370923596611a2beb937e76cf26320d74637f60)

Author SHA1 Message Date
Dave Syer 276f9b784c Add virtual host to Rabbit config 11 years ago
Dave Syer 0498617411 Disable whitelabel view if Thymeleaf error.html detected 11 years ago
Dave Syer e789840b3c Adjust db type if postgres 11 years ago
Andy Wilkinson e5e511fd43 Reinstate use of hasMappingForPattern
Use of hasMappingForPattern was commented out during work on the
Aether-based Grape implementation as it was temporarily removed in 
Spring 4's snapshots. It's since been reinstated in the snapshots, so
its use should have been reinstated prior to merging Aether work into
master.
11 years ago
Andy Wilkinson 39e8e46e2a Provide an Aether-based Grape Engine
Previously, @Grab annotations would use Ivy to download the
dependencies with some of Ivy's known limitations being worked around
by GrapeEngineCustomizer.

This commit adds a GrapeEngine implementation that uses Aether,
the dependency resolution 'engine' used by Maven and Grails. To ensure
consistent behaviour with a Maven build, the Aether-powered dependency
resolution uses the dependency management configuration from the
spring-boot-starter-parent pom file.
11 years ago
Andy Wilkinson a28947f276 Move database files into target directory 11 years ago
Dave Syer 43f8a71af4 Ensure JdbcTemplate and DB initializer still work when user supplies DataSource 11 years ago
Dave Syer 837070d6e9 Tidy up log message (add space) 11 years ago
Dave Syer acf458b462 Standardize on spring.datasource.* for database config
[Fixes #58921238] [bs-333] spring.database.* and
spring.datasource.* used to configure database
11 years ago
Dave Syer b7ed5bbc76 Revert "Temporary fix for Spring snapshot changes"
This reverts commit 8a804f6185.
11 years ago
Dave Syer 8a804f6185 Temporary fix for Spring snapshot changes 11 years ago
Dave Syer 0ec2d19e38 Add spring.thymeleaf.encoding to ThymeleafAutoConfiguration
Both the template resolver and the view resolver now have their
encoding set explicitly (defaulting to UTF-8).

Fixes gh-79
11 years ago
Dave Syer 2c60828cf2 Ensure ServerProperties default values does not override
Since ServerProperties had primitive properties for port (in
particular) it was not possible to check when applying those
properties if the user had actually changed the value. This
in turn meant that a custom EmbeddedServletContainerFactory
could not set the default values.

Fixed by making int properties of ServerProperties into
Integer and checking for null before setting on the
container factory.

Fixes gh-84
11 years ago
Dave Syer 64d9f4f18d Allow user to override static resource handler mappings
A new API in Spring allows us to check for existing mappings in the
resource handler registry
11 years ago
Phillip Webb af0d08c998 Polish 11 years ago
Phillip Webb b772f7c2e4 Polish
Minor formatting and consistent copyright header.
11 years ago
Roy Clarkson 5cdaa43912 Add Spring Mobile Device Resolver autoconfiguration 11 years ago
Dave Syer 3b2abe9c17 Use create_drop JPA as default if in-memory
[Fixes #55277582] [bs-288]
11 years ago
Dave Syer bbec4f7cf5 Make default proxyTargetClass=false
If the default is true JPA repositories all have to have
default constructors etc.
11 years ago
Eberhard Wolff c6e0c76341 Added test for AOP auto configuration and dependency to AspectJ 11 years ago
Dave Syer dfb660aa87 Add schema.sql,data.sql to default SQL initializers
...for compatibility with Spring JDBC. Users can still
optionally specify spring.database.schema, but the default
location is schema-${spring.database.platform}.sql, schema.sql,
data.sql.

[Fixes #58332710]
11 years ago
Dave Syer 5fe9ef69c7 Add SpringApplicationContextLoader 11 years ago
Dave Syer 345c0fc5a4 Add SpringApplicationBuilder
Builder for SpringApplication and ApplicationContext instances with
convenient fluent API and context hierarchy support. Simple example
of a context hierarchy:

   new SpringApplicationBuilder(ParentConfig.class)
               .child(ChildConfig.class).run(args);

Another common use case is setting default arguments, e.g.
active Spring profiles, to set up the environment for an application:

     new SpringApplicationBuilder(Application.class).profiles("server")
 		.defaultArgs("--transport=local").run(args);

If your needs are simpler, consider using the static convenience
methods in SpringApplication instead.

[#49703716] [bs-116] Parent context for some beans maybe?
11 years ago
Dave Syer 3879afccfb Important: restrict PPC scanning to current context 11 years ago
Dave Syer 0df4156b57 Lazy initialization of management server properties 11 years ago
Dave Syer 5b1503d07d Extract DispatcherServletAutoConfiguration so it can be used independently 11 years ago
Dave Syer 52e0193d95 Refactor Rabbit and JMS to avoid bean name clash 11 years ago
Dave Syer 923f286ae2 Add spring.view.{prefix,suffix} properties
Fixes #62
11 years ago
Dave Syer 9bb6e0f497 Fix test 11 years ago
Greg Turnquist 941d163709 Add support for Spring Rabbit (via Spring AMQP) to Boot
- If RabbitTemplate is on the classpath, turn on autodetection.
- Create a RabbitTemplate, a Rabbit ConnectionFactory, and a RabbitAdmin is spring.rabbitmq.dynamic:true
- Enable some **spring.rabbitmq** properties like host, port, username, password, and dynamic
- Add tests to verify functionality
- Add Groovy CLI functionality. Base it on @EnableRabbitMessaging. Add spring-amqp to the path.
- Create rabbit.groovy test to prove it all works.
- Make Queue and TopicExchange top-level Spring beans in rabbit.groovy test script
11 years ago
Greg Turnquist fa6e6fde6c Add JMS autoconfig support
* application.properties support for spring.jms and spring.activemq

* more tests to verify ActiveMQConnectionFactory pooling

* Groovy support and simple sample with activemq

* Groovy detection mechanism is @EnableJmsMessaging annotation
11 years ago
Phillip Webb 26303a9767 Ensure DataSource can load database driver
Update DataSource conditional to ensure that the driver class
can actually be loaded by the DataSource. This fixes an issue when
deploying a classic WAR where `org.apache.tomcat.jdbc.pool.DataSource`
is found the parent classloader but the database driver cannot be loaded
because is included as a local `/lib` dependency.
11 years ago
Phillip Webb c544921eaa Polish whitespace 11 years ago
Oliver Gierke 604b9069b1 #58 - Upgraded Spring Data JPA dependencies to Babbage release train.
Adapted to changes in the API in Spring Data Commons which requires to pass in the current Environment into the AnnotationRepositoryConfigurationSource.
11 years ago
Phillip Webb fd9e258d12 Replace 'springsource.org' with 'spring.io'
Replace all references to 'springsource.org' with the new 'spring.io'
domain.
11 years ago
Dave Syer 5925e153b4 Make sure JMS is on classpath as well 11 years ago
Phillip Webb 9a529b41c1 Polish 11 years ago
Greg Turnquist 5801e422cf [BS-48] Add autoconfigured JMS support
* Add ability to detect spring-jms on the path and create a JmsTemplate with
  ActiveMQConnectionFactory
* Create tests showing autoconfigured JmsTemplate with ActiveMQ, but prove it
  backs off if a separate ConnectionFactory exists.
* Add support to spring-boot-cli to that it detects JmsTemplate, DefaultMessageListenerContainer,
  or SimpleMessageListenerContainer, and turns on autoconfiguration as well as
  add proper @Grab's and import statements.
* Write a jms.groovy test showing proper CLI support

Simplify ActiveMQ configuration

Update ActiveMQ to 5.7.0
11 years ago
Dave Syer 4bb99e80d0 Upgrade to reactor M3 11 years ago
Dave Syer e6c1586717 Fix off -by-one logic error 11 years ago
Dave Syer 191894a16a Add Mongo auto configuration
Spring Data Mongo is the only dependency so it doesn't
really need a new starter. Added a sample though.
11 years ago
Dave Syer d06d202fd0 Add AopAutoConfiguration (also starter and sample)
A side effect is that spring-boot-starter-data-jpa needs
to include an aspectjweaver depdendency. Hope that doesn't
hurt anything else.

[Fixes #56780004]
11 years ago
Dave Syer 759aa785a7 Fix bug in datasource autoconfiguration
The AbstractDataSourceConfiguration had path= in its
@ConfigurationProperties by mistake (should have been value)
11 years ago
Dave Syer 38e565e920 Back to SNAPSHOT for dev 11 years ago
Dave Syer b634b3bde6 Update to 0.5.0.M2 11 years ago
Dave Syer c4223d645d Updated WebSocketAutoConfiguration to use @EnableWebSocket 11 years ago
Dave Syer 5fa0166dea Upgrade to Reactor 1.0.0.M2 11 years ago
Phillip Webb 6a227a2298 Move non-inherited JPA @Condition annotations
Move JPA @Condition annotations from JpaBaseConfiguration to
HibernateJpaAutoConfiguration since they are not inherited.
11 years ago
Phillip Webb cb7cc3991b Make data-jpa conditional on DataSource bean 11 years ago
Phillip Webb 1c1f36c4ce Add support for web-jar resources
Include resource mapping for web-jar resources.

Issue: #55752928
11 years ago
Phillip Webb a95494fe61 Remove '/resources/**' mapping and default servlet
Remove '/resources/**' mapping since it can cause problems with the
'/**' when the developer defines their own 'resources' sub-folder.

Also remove default servlet config since the resources mapping renders
it redundant.

Issue: #55494446
11 years ago
Dave Syer 43fc107437 Fix security config
The management endpoints were still all mixed up
with the user endpoints. Fixed that and extracted
user endpoints in to conditional block so not
protected if path explicitly set to empty string.

[#53029715]
11 years ago
Phillip Webb 2b54b6286f Rework database auto-configure
Rework several aspects of database auto-configuration:

- Use RelaxedPropertyResolver to obtain property values
- Extract EmbeddedDatabaseConnection from EmbeddedDatabaseConfiguration
- Rename several configuration classes for consistency

Issue: #53028397
11 years ago
Phillip Webb 2041a79970 Use RelaxedPropertyResolver in auto-configuration
Update several existing auto-configuration classes to use the new
RelaxedPropertyResolver.

This commit also rename the spring.template property to spring.thymeleaf
in case we wish to support more templating engines in the future.
11 years ago
Phillip Webb d64a44547c Fix DataSourceConfiguration isTestOnReturn()
Fix setTestOnReturn to use isTestOnReturn.
11 years ago
Dave Syer 767aa43e31 Add WebSocketAutoConfiguration
Opinionated defaults for WebSockets:

* If spring-websocket is on the classpath and so is
the Tomcat WSci initializer then it is added to the context
* A DefaultSockJsService is added if none is present
* User has only to define @Beans of type WebSocketHandler with
name starting "/"
* Each one is converted to a SockJsHttpRequestHandler and
mapped to "/<beanName>/**"
11 years ago
Phillip Webb 94b182cc81 Allow hibernate naming strategy to be specified
Issue: #53028397
11 years ago
Phillip Webb 71946f9d83 Update WebMvcAutoConfiguration conditional bean
Change WebMvcAutoConfiguration to use WebMvcConfigurationSupport instead
of HanderAdapter as the @ConditionalOnMissingBean. This allows MVC to
be auto-configured even if you define additional HanderAdapters.

Issue: #55493342
11 years ago
Phillip Webb d4fe320254 Update trace logging to include Hibernate SQL 11 years ago
Phillip Webb 6858c3987e Use Hibernate ImprovedNamingStrategy by default
Update HibernateJpaAutoConfiguration to use the ImprovedNamingStrategy
for better table and column names.

Issue: #55261888
11 years ago
Phillip Webb 7e3cb50a22 Polish 11 years ago
Phillip Webb 021fe45d83 Exclude spring-data-rest package from being stored
Update AutoConfigurationUtils to specifically exclude spring-data-rest
packages from being stored. This prevent missing class errors caused
when Spring Boot attempts to use @ComponentScan packages as the source
for JPA entities and reads annotations that are not on the classpath.

Issue: #55489346
11 years ago
Phillip Webb fc841e0269 Move inner class to end of file for consistency 11 years ago
Dave Syer d205d9404a Add additional ViewResolver configuration
The DispatcherServlet adds a default InternalViewResolver
which was used by some apps, but when the actuator was
available it added an "/error" bean and effectively
switched off the default view resolver. The net fix was
to add an InternalViewResolver at the same time as
adding any other ViewResolvers.

[Fixes #55357516] [bs-290] Actuator UI app cannot serve static index.html
11 years ago
Phillip Webb 3fc8752a37 Update autoconfigure README.md with `--debug` info 11 years ago
Phillip Webb 840fdeb50f Create common SpringBootCondition base class
Create a new SpringBootCondition that will log why a condition has
or has not been applied. The removes the need for ConditionLogUtils
and simplifies many of the existing condition implementations.

Issue: #55203236
11 years ago
Phillip Webb 4e83826b41 Polish 11 years ago
Phillip Webb 82ed7a676d Readme for auto-configuration 11 years ago
Phillip Webb 1ff76459db Polish ConditionalOn annotations
Update ConditionalOn annotations :
- Use consistent attribute names for OnClass and OnMissingClass
- Update javadoc
- Rename tests to reflect the annotation rather than the interface
11 years ago
Dave Syer 0d583deb27 Add CLASSPATH elements back to spring CLI script
Also add @WebConfiguration as a shortcut for groovy
scripts to get MVC behaviour (without a @Controller)

[#54926366]
11 years ago
Dave Syer 68e84f7d02 Add pool parameters to AbstractDataSourceConfiguration
* Exposed common pool properties in the base class for data source configuration
* Made it @ConfigurationProperties so it binds in strongly typed sense

[Fixes #53028455] [bs-214] Add pool parameters to AbstractDataSourceConfiguration
11 years ago
Dave Syer 56f5b3ad0f Add logging to dispatcher servlet condition 11 years ago
Dave Syer 0af9d2022a Allow user to supply servlets and filters and still get default DispatcherServlet
Instead of not installing one at all if there is any ServletContextInitializer,
Spring Boot will now install a DispatcherServlet if context does not contain one
already with the magic name "dispatcherServlet".

[Fixes #54674870] [bs-277]
11 years ago
Phillip Webb 00fc04c01e Simplify OnBeanCondition
Merge OnMissingBeanCondition into OnBeanCondition and simplify code.
Polish on bean conditions
11 years ago
Phillip Webb 82320b3525 Simplify OnWebApplicationCondition
Merge OnNotWebApplicationCondition into OnWebApplicationCondition and
simplify code.
11 years ago
Phillip Webb 7525eb31f1 Simplify OnClassCondition
Merge OnMissingClassCondition into OnClassCondition and simplify code.
11 years ago
Phillip Webb cf655945aa Polish 11 years ago
Phillip Webb 8a33c39f0b Polish AutoConfigurationSorter 11 years ago
Dave Syer 33658c2933 Add @AutoConfigureBefore and simple implementation
[#54597932] [bs-273] Circular view reference for /error
11 years ago
Phillip Webb 4e11ae1671 Documentation
Various updates to README.md files.
11 years ago
Phillip Webb 1db22aca5c Rework POM structure
Rework main build POM to be an aggregator pom that does not inherit
from any parent. Introduce new spring-boot-dependencies module to
act as a parent for both spring-boot-starter-parent and
spring-boot-parent.
11 years ago
Dave Syer 4bb5de02e7 Switch back to SNAPSHOT for dev 11 years ago
Dave Syer 68e5a7e887 Bump version to 0.5.0.M1 11 years ago
Phillip Webb e1c6860a41 Documentation 11 years ago
Phillip Webb c83400d265 Move conditions from boot to autoconfigure
Issue: #54393078
11 years ago
Phillip Webb 36c3ceab97 Include servlet support for index.html resources
Issue: #54228642
11 years ago
Phillip Webb 772cc851a0 Polish WebMvcAutoConfiguration resource locations 11 years ago
Dave Syer 4c359e1a4d Two choices are available to users for welcome page
* For a jar deployment add classpath:static/index.html
(works via Spring MVC mapping)
* For a war the same thing works, but so does adding
index.html to src/main/webapp (works via container
default servlet)

[Fixes #54092261] [bs-252]
11 years ago
Phillip Webb b665a2bb1d Renamed packages
Issue: #54095231
11 years ago
Phillip Webb 3f2bb03fb8 Renamed some projects and polish POMs
Issue: #54095231
11 years ago