Cambiar puerto por defecto en Spring Boot
Spring Boot nos proporciona muchas configuraciones por defecto con las que podemos empezar a desarrollar fácilmente. Pero en algunas ocasiones necesitamos modificar alguna, por lo que en este artículo veremos como cambiar puerto por defecto en Spring Boot.
En esta entrada veremos las diferentes maneras de poder cambiar el puerto de nuestra aplicación.
Fichero de propiedades
La manera más rápida y fácil de poder cambiar el puerto por defecto (8080), en Spring Boot es haciendo uso del application.yml o application.properties
Para poder realizar ese cambio necesitamos especificar en la propiedad server.port el número de puerto que queremos por ejemplo si trabajamos con application.properties:
server.port=8090
o si trabajamos con application.yml:
server: port: 8090
Esta propiedad será cargada en el arranque del Spring Boot y será el puerto a utilizar.
Cambiar puerto por defecto en Spring Boot con Configuración programática
Otra de las maneras en la que podemos cambiar el puerto de una aplicación en Spring Boot es modificando la configuración de nuestro embedded server. Para ello haremos uso de la clase WebServerFactoryCustomizer.
Para poder realizar la modificación del puerto de manera programática lo haremos en dos pasos:
@SpringBootApplication public class CustomPortApplication { public static void main(String[] args) { SpringApplication app = new SpringApplication(CustomApplication.class); app.setDefaultProperties(Collections .singletonMap("server.port", "8090")); app.run(args); } }
En el código anterior hemos añadido la propiedad server.port con su valor y a continuación vamos a sobreescribir una clase en la que le indicamos el puerto:
@Component public class ServerPortCustomizer implements WebServerFactoryCustomizer<ConfigurableWebServerFactory> { @Override public void customize(ConfigurableWebServerFactory factory) { factory.setPort(8090); } }
Hemos implementado WebServerFactoryCustomizer, para establecer el puerto que queremos en este caso el 8090.
Línea de Comandos
Otra manera muy práctica de poder cambiar el puerto de nuestra aplicación Spring Boot es por línea de comandos a través de java command. Para ello tan solo hay que pasar el server.port por parámetro, tenemos dos maneras diferentes de hacerlo:
java -jar -Dserver.port=8090 refactorizando-port.jar
java -jar refactorizando-port.jar --server.port=8090
Conocer puerto de arranque
El puerto con el que arranca la aplicación se muestra en los logs que muestra Spring al finalizar el arranque. De esta manera podrás asegurarte del puerto con el que arranca tu aplicación.
Orden de preferencia
Hay que tener en cuenta cuando se aplican cambios en las configuraciones por defecto el orden de ejecución y su prioridad en Spring Boot.
- configuración del servidor embebido.
- línea de comandos.
- fichero de propiedades.
- @SpringBootApplication configuración.
Conclusión
En esta entrada, Cambiar puerto por defecto en Spring Boot, hemos visto como realizar una modificación por defecto en Spring Boot. Para ello hemos visto 3 maneras diferentes aunque sin duda, la más fácil y directa es modificar en el fichero de propiedades.
Si necesitas más información puedes escribirnos un comentario o un correo electrónico a refactorizando.web@gmail.com y te ayudaremos encantados!
No te olvides de seguirnos en nuestras redes sociales Facebook o Twitter para estar actualizado.
gracias
bien explicado
EXCELENTE!!!
Me estaba volviendo loco!!!
Debo tener mal la JRE … no se pero no me dejaba cambiarlo por el archivo de configuracion, y no me parece practico estar haciendo desde consola.
Solucion mas «limpia», «clara» y creo que «profesional»
MUCHAS GRACIAS!!!