diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfiguration.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfiguration.java index db9ed20424..f7fc6dd765 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfiguration.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfiguration.java @@ -93,12 +93,12 @@ import org.springframework.util.StringUtils; *

* If a Spring Security {@link AuthenticationManager} is detected, this configuration will * create a {@link CRaSHPlugin} to forward shell authentication requests to Spring - * Security. This authentication method will get enabled if {@code management.shell.auth.type} - * is set to {@code spring} or if no explicit {@code management.shell.auth} is provided - * and a {@link AuthenticationManager} is available. In the latter case shell access will - * be restricted to users having roles that match those configured in - * {@link ManagementServerProperties}. Required roles can be overridden by - * {@code management.shell.auth.spring.roles}. + * Security. This authentication method will get enabled if + * {@code management.shell.auth.type} is set to {@code spring} or if no explicit + * {@code management.shell.auth} is provided and a {@link AuthenticationManager} is + * available. In the latter case shell access will be restricted to users having roles + * that match those configured in {@link ManagementServerProperties}. Required roles can + * be overridden by {@code management.shell.auth.spring.roles}. *

* To add customizations to the shell simply define beans of type {@link CRaSHPlugin} in * the application context. Those beans will get auto detected during startup and diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/LocalManagementPort.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/LocalManagementPort.java index d61a0bec08..46ad260e96 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/LocalManagementPort.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/LocalManagementPort.java @@ -38,4 +38,5 @@ import org.springframework.beans.factory.annotation.Value; @Documented @Value("${local.management.port}") public @interface LocalManagementPort { + } diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/ShellProperties.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/ShellProperties.java index c3981ea1b5..9852788b1e 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/ShellProperties.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/ShellProperties.java @@ -375,7 +375,8 @@ public class ShellProperties { /** * Auth specific properties for JAAS authentication. */ - @ConfigurationProperties(prefix = SHELL_PREFIX + ".auth.jaas", ignoreUnknownFields = false) + @ConfigurationProperties(prefix = SHELL_PREFIX + + ".auth.jaas", ignoreUnknownFields = false) public static class JaasAuthenticationProperties extends CrshShellAuthenticationProperties { @@ -404,7 +405,8 @@ public class ShellProperties { /** * Auth specific properties for key authentication. */ - @ConfigurationProperties(prefix = SHELL_PREFIX + ".auth.key", ignoreUnknownFields = false) + @ConfigurationProperties(prefix = SHELL_PREFIX + + ".auth.key", ignoreUnknownFields = false) public static class KeyAuthenticationProperties extends CrshShellAuthenticationProperties { @@ -435,7 +437,8 @@ public class ShellProperties { /** * Auth specific properties for simple authentication. */ - @ConfigurationProperties(prefix = SHELL_PREFIX + ".auth.simple", ignoreUnknownFields = false) + @ConfigurationProperties(prefix = SHELL_PREFIX + + ".auth.simple", ignoreUnknownFields = false) public static class SimpleAuthenticationProperties extends CrshShellAuthenticationProperties { @@ -511,7 +514,8 @@ public class ShellProperties { /** * Auth specific properties for Spring authentication. */ - @ConfigurationProperties(prefix = SHELL_PREFIX + ".auth.spring", ignoreUnknownFields = false) + @ConfigurationProperties(prefix = SHELL_PREFIX + + ".auth.spring", ignoreUnknownFields = false) public static class SpringAuthenticationProperties extends CrshShellAuthenticationProperties { diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfigurationTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfigurationTests.java index 973b8e573e..2b4cb7089e 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfigurationTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfigurationTests.java @@ -81,8 +81,8 @@ public class CrshAutoConfigurationTests { @Test public void testDisabledPlugins() throws Exception { - load("management.shell.disabled_plugins=" + - "termIOHandler, org.crsh.auth.AuthenticationPlugin, javaLanguage"); + load("management.shell.disabled_plugins=" + + "termIOHandler, org.crsh.auth.AuthenticationPlugin, javaLanguage"); PluginLifeCycle lifeCycle = this.context.getBean(PluginLifeCycle.class); assertThat(lifeCycle).isNotNull(); assertThat(lifeCycle.getContext().getPlugins(TermIOHandler.class)) @@ -109,8 +109,7 @@ public class CrshAutoConfigurationTests { @Test public void testSshConfiguration() { - load("management.shell.ssh.enabled=true", - "management.shell.ssh.port=3333"); + load("management.shell.ssh.enabled=true", "management.shell.ssh.port=3333"); PluginLifeCycle lifeCycle = this.context.getBean(PluginLifeCycle.class); assertThat(lifeCycle.getConfig().getProperty("crash.ssh.port")).isEqualTo("3333"); assertThat(lifeCycle.getConfig().getProperty("crash.ssh.auth_timeout")) @@ -140,7 +139,6 @@ public class CrshAutoConfigurationTests { .isEqualTo("400000"); } - @Test public void testCommandResolution() { load(); @@ -329,7 +327,6 @@ public class CrshAutoConfigurationTests { this.context.refresh(); } - @Configuration public static class SecurityConfiguration { diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/ShellPropertiesTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/ShellPropertiesTests.java index 288a9d9553..577265879d 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/ShellPropertiesTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/ShellPropertiesTests.java @@ -65,7 +65,8 @@ public class ShellPropertiesTests { @Test public void testBindingAuth() { - ShellProperties props = load(ShellProperties.class, "management.shell.auth.type=spring"); + ShellProperties props = load(ShellProperties.class, + "management.shell.auth.type=spring"); assertThat(props.getAuth().getType()).isEqualTo("spring"); } @@ -78,7 +79,8 @@ public class ShellPropertiesTests { @Test public void testBindingCommandRefreshInterval() { - ShellProperties props = load(ShellProperties.class, "management.shell.command-refresh-interval=1"); + ShellProperties props = load(ShellProperties.class, + "management.shell.command-refresh-interval=1"); assertThat(props.getCommandRefreshInterval()).isEqualTo(1); } @@ -87,7 +89,7 @@ public class ShellPropertiesTests { ShellProperties props = load(ShellProperties.class, "management.shell.command-path-patterns=pattern1, pattern2"); assertThat(props.getCommandPathPatterns().length).isEqualTo(2); - Assert.assertArrayEquals(new String[] {"pattern1", "pattern2"}, + Assert.assertArrayEquals(new String[] { "pattern1", "pattern2" }, props.getCommandPathPatterns()); } @@ -96,7 +98,7 @@ public class ShellPropertiesTests { ShellProperties props = load(ShellProperties.class, "management.shell.config-path-patterns=pattern1, pattern2"); assertThat(props.getConfigPathPatterns().length).isEqualTo(2); - Assert.assertArrayEquals(new String[] {"pattern1", "pattern2"}, + Assert.assertArrayEquals(new String[] { "pattern1", "pattern2" }, props.getConfigPathPatterns()); } @@ -118,8 +120,7 @@ public class ShellPropertiesTests { @Test public void testBindingSsh() { ShellProperties props = load(ShellProperties.class, - "management.shell.ssh.enabled=true", - "management.shell.ssh.port=2222", + "management.shell.ssh.enabled=true", "management.shell.ssh.port=2222", "management.shell.ssh.key-path=~/.ssh/test.pem"); Properties p = props.asCrshShellConfig(); assertThat(p.get("crash.ssh.port")).isEqualTo("2222"); @@ -129,8 +130,7 @@ public class ShellPropertiesTests { @Test public void testBindingSshIgnored() { ShellProperties props = load(ShellProperties.class, - "management.shell.ssh.enabled=false", - "management.shell.ssh.port=2222", + "management.shell.ssh.enabled=false", "management.shell.ssh.port=2222", "management.shell.ssh.key-path=~/.ssh/test.pem"); Properties p = props.asCrshShellConfig(); assertThat(p.get("crash.ssh.port")).isNull(); @@ -194,14 +194,16 @@ public class ShellPropertiesTests { @Test public void testDefaultPasswordAutoGeneratedIfUnresolvedPlaceholder() { - SimpleAuthenticationProperties security = load(SimpleAuthenticationProperties.class, + SimpleAuthenticationProperties security = load( + SimpleAuthenticationProperties.class, "management.shell.auth.simple.user.password=${ADMIN_PASSWORD}"); assertThat(security.getUser().isDefaultPassword()).isTrue(); } @Test public void testDefaultPasswordAutoGeneratedIfEmpty() { - SimpleAuthenticationProperties security = load(SimpleAuthenticationProperties.class, + SimpleAuthenticationProperties security = load( + SimpleAuthenticationProperties.class, "management.shell.auth.simple.user.password="); assertThat(security.getUser().isDefaultPassword()).isTrue(); } @@ -242,9 +244,9 @@ public class ShellPropertiesTests { } @Configuration - @EnableConfigurationProperties({ShellProperties.class, + @EnableConfigurationProperties({ ShellProperties.class, JaasAuthenticationProperties.class, KeyAuthenticationProperties.class, - SimpleAuthenticationProperties.class, SpringAuthenticationProperties.class}) + SimpleAuthenticationProperties.class, SpringAuthenticationProperties.class }) static class TestConfiguration { } diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ws/WsAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.java similarity index 87% rename from spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ws/WsAutoConfiguration.java rename to spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.java index 36c61b3677..52b2a5b89f 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ws/WsAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.ws; +package org.springframework.boot.autoconfigure.webservices; import java.util.Map; @@ -44,13 +44,13 @@ import org.springframework.ws.transport.http.MessageDispatcherServlet; @ConditionalOnWebApplication @ConditionalOnClass(MessageDispatcherServlet.class) @ConditionalOnMissingBean(WsConfigurationSupport.class) -@EnableConfigurationProperties(WsProperties.class) +@EnableConfigurationProperties(WebServicesProperties.class) @AutoConfigureAfter(EmbeddedServletContainerAutoConfiguration.class) -public class WsAutoConfiguration { +public class WebServicesAutoConfiguration { - private final WsProperties properties; + private final WebServicesProperties properties; - public WsAutoConfiguration(WsProperties properties) { + public WebServicesAutoConfiguration(WebServicesProperties properties) { this.properties = properties; } @@ -61,9 +61,9 @@ public class WsAutoConfiguration { servlet.setApplicationContext(applicationContext); String path = this.properties.getPath(); String urlMapping = (path.endsWith("/") ? path + "*" : path + "/*"); - ServletRegistrationBean registration = new ServletRegistrationBean( - servlet, urlMapping); - WsProperties.Servlet servletProperties = this.properties.getServlet(); + ServletRegistrationBean registration = new ServletRegistrationBean(servlet, + urlMapping); + WebServicesProperties.Servlet servletProperties = this.properties.getServlet(); registration.setLoadOnStartup(servletProperties.getLoadOnStartup()); for (Map.Entry entry : servletProperties.getInit().entrySet()) { registration.addInitParameter(entry.getKey(), entry.getValue()); @@ -74,6 +74,7 @@ public class WsAutoConfiguration { @Configuration @EnableWs protected static class WsConfiguration { + } } diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ws/WsProperties.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesProperties.java similarity index 93% rename from spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ws/WsProperties.java rename to spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesProperties.java index b6dfea612f..978c32f5af 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ws/WsProperties.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesProperties.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.ws; +package org.springframework.boot.autoconfigure.webservices; import java.util.HashMap; import java.util.Map; @@ -31,8 +31,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties; * @author Stephane Nicoll * @since 1.4.0 */ -@ConfigurationProperties("spring.ws") -public class WsProperties { +@ConfigurationProperties("spring.webservices") +public class WebServicesProperties { /** * Path that serves as the base URI for the services. @@ -55,7 +55,6 @@ public class WsProperties { return this.servlet; } - public static class Servlet { /** diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ws/package-info.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/package-info.java similarity index 91% rename from spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ws/package-info.java rename to spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/package-info.java index c2b9505e88..bfe7f5a347 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ws/package-info.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/package-info.java @@ -17,4 +17,4 @@ /** * Auto-configuration for Spring Web Services. */ -package org.springframework.boot.autoconfigure.ws; +package org.springframework.boot.autoconfigure.webservices; diff --git a/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories b/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories index 6171b8ebac..1d87439c0f 100644 --- a/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories +++ b/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories @@ -97,7 +97,7 @@ org.springframework.boot.autoconfigure.web.ServerPropertiesAutoConfiguration,\ org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration,\ org.springframework.boot.autoconfigure.websocket.WebSocketAutoConfiguration,\ org.springframework.boot.autoconfigure.websocket.WebSocketMessagingAutoConfiguration,\ -org.springframework.boot.autoconfigure.ws.WsAutoConfiguration +org.springframework.boot.autoconfigure.webservices.WebServicesAutoConfiguration # Template availability providers org.springframework.boot.autoconfigure.template.TemplateAvailabilityProvider=\ diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/ws/WsAutoConfigurationTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfigurationTests.java similarity index 74% rename from spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/ws/WsAutoConfigurationTests.java rename to spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfigurationTests.java index 1541aa028d..24a9c8e8a5 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/ws/WsAutoConfigurationTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfigurationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.autoconfigure.ws; +package org.springframework.boot.autoconfigure.webservices; import org.junit.After; import org.junit.Rule; @@ -31,12 +31,12 @@ import org.springframework.web.context.support.AnnotationConfigWebApplicationCon import static org.assertj.core.api.Assertions.assertThat; /** - * Tests for {@link WsAutoConfiguration}. + * Tests for {@link WebServicesAutoConfiguration}. * * @author Vedran Pavic * @author Stephane Nicoll */ -public class WsAutoConfigurationTests { +public class WebServicesAutoConfigurationTests { @Rule public ExpectedException thrown = ExpectedException.none(); @@ -52,8 +52,7 @@ public class WsAutoConfigurationTests { @Test public void defaultConfiguration() { - load(WsAutoConfiguration.class); - + load(WebServicesAutoConfiguration.class); assertThat(this.context.getBeansOfType(ServletRegistrationBean.class)).hasSize(1); } @@ -61,19 +60,19 @@ public class WsAutoConfigurationTests { public void customPathMustBeginWithASlash() { this.thrown.expect(BeanCreationException.class); this.thrown.expectMessage("Path must start with /"); - load(WsAutoConfiguration.class, "spring.ws.path=invalid"); + load(WebServicesAutoConfiguration.class, "spring.webservices.path=invalid"); } @Test public void customPathWithTrailingSlash() { - load(WsAutoConfiguration.class, "spring.ws.path=/valid/"); + load(WebServicesAutoConfiguration.class, "spring.webservices.path=/valid/"); assertThat(this.context.getBean(ServletRegistrationBean.class).getUrlMappings()) .contains("/valid/*"); } @Test public void customPath() { - load(WsAutoConfiguration.class, "spring.ws.path=/valid"); + load(WebServicesAutoConfiguration.class, "spring.webservices.path=/valid"); assertThat(this.context.getBeansOfType(ServletRegistrationBean.class)).hasSize(1); assertThat(this.context.getBean(ServletRegistrationBean.class).getUrlMappings()) .contains("/valid/*"); @@ -81,7 +80,8 @@ public class WsAutoConfigurationTests { @Test public void customLoadOnStartup() { - load(WsAutoConfiguration.class, "spring.ws.servlet.load-on-startup=1"); + load(WebServicesAutoConfiguration.class, + "spring.webservices.servlet.load-on-startup=1"); ServletRegistrationBean registrationBean = this.context .getBean(ServletRegistrationBean.class); assertThat(ReflectionTestUtils.getField(registrationBean, "loadOnStartup")) @@ -90,8 +90,9 @@ public class WsAutoConfigurationTests { @Test public void customInitParameters() { - load(WsAutoConfiguration.class, "spring.ws.servlet.init.key1=value1", - "spring.ws.servlet.init.key2=value2"); + load(WebServicesAutoConfiguration.class, + "spring.webservices.servlet.init.key1=value1", + "spring.webservices.servlet.init.key2=value2"); ServletRegistrationBean registrationBean = this.context .getBean(ServletRegistrationBean.class); assertThat(registrationBean.getInitParameters()).containsEntry("key1", "value1"); @@ -99,12 +100,12 @@ public class WsAutoConfigurationTests { } private void load(Class config, String... environment) { - AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); - ctx.setServletContext(new MockServletContext()); - EnvironmentTestUtils.addEnvironment(ctx, environment); - ctx.register(config); - ctx.refresh(); - this.context = ctx; + AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); + context.setServletContext(new MockServletContext()); + EnvironmentTestUtils.addEnvironment(context, environment); + context.register(config); + context.refresh(); + this.context = context; } } diff --git a/spring-boot-dependencies/pom.xml b/spring-boot-dependencies/pom.xml index f0aeab85e8..e137bfb771 100644 --- a/spring-boot-dependencies/pom.xml +++ b/spring-boot-dependencies/pom.xml @@ -160,7 +160,7 @@ 2.0.3.RELEASE 1.0.2.RELEASE 1.1.2.RELEASE - 2.3.0.RELEASE + 2.3.0.RELEASE 3.8.11.2 3.1.0 ${javax-mail.version} @@ -505,7 +505,7 @@ org.springframework.boot - spring-boot-starter-ws + spring-boot-starter-webservices 1.4.0.BUILD-SNAPSHOT @@ -2179,7 +2179,7 @@ org.springframework.ws spring-ws-core - ${spring-ws.version} + ${spring-webservices.version} commons-logging @@ -2190,7 +2190,7 @@ org.springframework.ws spring-ws-security - ${spring-ws.version} + ${spring-webservices.version} commons-logging @@ -2201,7 +2201,7 @@ org.springframework.ws spring-ws-support - ${spring-ws.version} + ${spring-webservices.version} commons-logging @@ -2212,7 +2212,7 @@ org.springframework.ws spring-ws-test - ${spring-ws.version} + ${spring-webservices.version} commons-logging diff --git a/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc b/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc index e3cfa60054..970d8705b1 100644 --- a/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc +++ b/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc @@ -406,10 +406,10 @@ content into your application; rather pick only the properties that you need. spring.velocity.toolbox-config-location= # Velocity Toolbox config location. For instance `/WEB-INF/toolbox.xml` spring.velocity.view-names= # White list of view names that can be resolved. - # WEB SERVICES ({sc-spring-boot-autoconfigure}/ws/WsProperties.{sc-ext}[WsProperties]) - spring.ws.path=/services # Path that serves as the base URI for the services. - spring.ws.servlet.init= # Servlet init parameters to pass to Spring Web Services. - spring.ws.servlet.load-on-startup=-1 # Load on startup priority of the Spring Web Services servlet. + # WEB SERVICES ({sc-spring-boot-autoconfigure}/webservices/WebServicesProperties.{sc-ext}[WebServicesProperties]) + spring.webservices.path=/services # Path that serves as the base URI for the services. + spring.webservices.servlet.init= # Servlet init parameters to pass to Spring Web Services. + spring.webservices.servlet.load-on-startup=-1 # Load on startup priority of the Spring Web Services servlet. [[common-application-properties-security]] diff --git a/spring-boot-docs/src/main/asciidoc/index.adoc b/spring-boot-docs/src/main/asciidoc/index.adoc index 6a8b7c2047..45f198dbcb 100644 --- a/spring-boot-docs/src/main/asciidoc/index.adoc +++ b/spring-boot-docs/src/main/asciidoc/index.adoc @@ -37,7 +37,7 @@ Phillip Webb; Dave Syer; Josh Long; Stéphane Nicoll; Rob Winch; Andy Wilkinson; :spring-boot-maven-plugin-site: http://docs.spring.io/spring-boot/docs/{spring-boot-docs-version}/maven-plugin :spring-reference: http://docs.spring.io/spring/docs/{spring-docs-version}/spring-framework-reference/htmlsingle :spring-security-reference: http://docs.spring.io/spring-security/site/docs/{spring-security-docs-version}/reference/htmlsingle -:spring-ws-reference: http://docs.spring.io/spring-ws/docs/{spring-ws-docs-version}/reference/htmlsingle +:spring-webservices-reference: http://docs.spring.io/spring-ws/docs/{spring-webservices-docs-version}/reference/htmlsingle :spring-javadoc: http://docs.spring.io/spring/docs/{spring-docs-version}/javadoc-api/org/springframework :spring-amqp-javadoc: http://docs.spring.io/spring-amqp/docs/current/api/org/springframework/amqp :spring-data-javadoc: http://docs.spring.io/spring-data/jpa/docs/current/api/org/springframework/data/jpa diff --git a/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc b/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc index f92a98a4f6..980542d32a 100644 --- a/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc +++ b/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc @@ -5002,13 +5002,13 @@ be easily accessed via the `spring-boot-starter-websocket` module. -[[boot-features-ws]] +[[boot-features-webservices]] == Web Services Spring Boot provides Web Services auto-configuration so that all is required is defining your `Endpoints`. -The {spring-ws-reference}[Spring Web Services features] can be easily accessed via the -`spring-boot-starter-ws` module. +The {spring-webservices-reference}[Spring Web Services features] can be easily accessed +via the `spring-boot-starter-webservices` module. diff --git a/spring-boot-samples/pom.xml b/spring-boot-samples/pom.xml index 6681adbeef..8f94c03d26 100644 --- a/spring-boot-samples/pom.xml +++ b/spring-boot-samples/pom.xml @@ -106,7 +106,7 @@ spring-boot-sample-websocket-jetty spring-boot-sample-websocket-tomcat spring-boot-sample-websocket-undertow - spring-boot-sample-ws + spring-boot-sample-webservices spring-boot-sample-xml