版权声明:本文为博主原创文章,转载请标注出处。 https://blog.csdn.net/qq27Ke/article/details/82118828
Spring Boot是非常强大的,接下来我们来介绍下Spring Boot中一些好玩的配置。
1,端口号
在单机应用中,http端口号默认是8080,我们可以spring boot中轻松修改。
1,application.properties中:
server.port=8083
2,YAML-based配置:
server:
port: 8083
3,通过程序的方式修改:
@Component
public class CustomizationBean implements
WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
@Override
public void customize(ConfigurableServletWebServerFactory container) {
container.setPort(8083);
}
2,Context Path
context path 默认路径为:“/” ,如果你想修改为你指定的比如加上项目名称等,也可以通过以下方法:
1,application.properties中:
server.servlet.contextPath=/springbootapp
2,YAML-based配置:
server:
servlet:
contextPath:/springbootapp
3,通过程序的方式修改:
@Component
public class CustomizationBean
implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
@Override
public void customize(ConfigurableServletWebServerFactorycontainer) {
container.setContextPath("/springbootapp");
}
}
3,错误页面
Spring Boot 中如果你没有指定自己自定义的实现类,它会默认注册一个BasicErrorController bean来处理错误页面
public class MyCustomErrorController implements ErrorController {
private static final String PATH = "/error";
@GetMapping(value=PATH)
public String error() {
return "Error haven";
}
@Override
public String getErrorPath() {
return PATH;
}
}
4,自定义的错误信息
Spring Boot 提供了默认的 /errorr的 mapping 来处理错误信息。如果你想配置更详细的错误页面,可以采用这种统一的JAVA DSL定制错误处理:
@Component
public class CustomizationBean
implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
@Override
public void customize(ConfigurableServletWebServerFactorycontainer) {
container.addErrorPages(new ErrorPage(HttpStatus.BAD_REQUEST, "/400"));
container.addErrorPages(new ErrorPage("/errorHaven"));
}
}
比如,我们需要指定一个错误的请求路径/400 ,只需要这样实现:
@GetMapping("/errorHaven")
String errorHeaven() {
return "报错了,来打我呀,呀呀呀。。。。。。。";
}
请求/errorHaven,输出如下结果:
5,注册一个新的Servlet
如果你在嵌入式服务器的帮助下部署应用程序,则可以通过将新的Servlet来自传统配置的bean,并在引导应用程序中注册它们。
@Bean
public HelloWorldServlet helloWorld() {
return new HelloWorldServlet();
}
注册一个servlet bean
@Bean
public SpringHelloServletRegistrationBean servletRegistrationBean() {
SpringHelloServletRegistrationBean bean = new SpringHelloServletRegistrationBean(
new SpringHelloWorldServlet(), "/springHelloWorld/*");
bean.setLoadOnStartup(1);
bean.addInitParameter("message", "SpringHelloWorldServlet special message");
return bean;
}