Entradas

Mostrando las entradas etiquetadas como sprint-boot

Create a docker image from a spring boot project

In order to create a docker image from a spring boot project, First, your pom.xml has to be configured. <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- Cofiguration for creating a docker image --> <image> <name>chamow01/${project.artifactId}</name> </image> </configuration> </plugin> </plugins> </build> Then, the next maven command needs to be applied, so spring boot uses paketo-buildpacks in order to create a docker image based on you Java code mvn spring-boot:build-image ... [INFO] > Running creator [INFO] [creator] ===> DETECTING [INFO] [creator] 6 of 24 buildpacks participating [INFO] [creator] paketo-buildpacks/ca-certificates 3.2.0 [INFO] [creator] paketo-buildpacks/bellsoft-liberica 9.3.2 [INFO] ...

Create a docker image from a spring boot project

In order to create a docker image from a spring boot project, First, your pom.xml has to be configured. <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- Cofiguration for creating a docker image --> <image> <name>chamow01/${project.artifactId}</name> </image> </configuration> </plugin> </plugins> </build> Then, the next maven command needs to be applied, so spring boot uses paketo-buildpacks in order to create a docker image based on you Java code mvn spring-boot:build-image ... [INFO] > Running creator [INFO] [creator] ===> DETECTING [INFO] [creator] 6 of 24 buildpacks participating [INFO] [creator] paketo-buildpacks/ca-certificates 3.2.0 [INFO] [creator] paketo-buildpacks/bellsoft-liberica 9.3.2 [INFO] ...

Configuración de Profiles para Spring-Boot

Proceso para crear profiles para un proyecto Spring-boot Configurar en el pom.xml los perfiles deseados, por ejemplo, a continuación se configura dos profiles para dev y prod <profiles> <profile> <id>dev</id> <properties> <activatedProperties>dev</activatedProperties> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>prod</id> <properties> <activatedProperties>prod</activatedProperties> </properties> </profile> </profiles> Configurar los recursos que se van a cargar con el profile activo <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plu...

Deploy de un jar en Heroku

Proceso para deployar un jar en Heroku Logearse en heroku con el comando: heroku login Instalar el siguiente plugin: heroku plugins:install heroku-cli-deploy Crear un nuevo proyecto en Heroku y enlazarlo con el proyecto local: heroku git:remote -a dc-homepay-rest Deployar el jar en Heroku con el siguiente comando: heroku deploy:jar target/homepay-controller-1.0.0-SNAPSHOT.jar Si se debea ver los logs de la aplicación se debe ejecutar el siguiente comando: heroku logs heroku logs --tail Fuentes https://devcenter.heroku.com/articles/deploying-java

Configuración de Swagger con spring boot

Swagger permite documentar las APIS de un proyecto de forma automática. Para usar swagger en un proyecto maven con spring-boot, se debe seguir los siguientes pasos Configuración de dependencias en proyecto maven. <!--SWAGGER--> <dependency> <groupId> io.springfox </groupId> <artifactId> springfox-boot-starter </artifactId> <version> 3.0.0 </version> </dependency> Crear una clase SwaggerConfig configurada con las anotaciones:  @Configuration  y que retorne un objecto de tipo   Docket import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Contact; import springfox.docum...

JPA Infinite recursion (StackOverflowError); nested exception spring boot

Parea evitar que un par de entidades JPA (padre, hijo) genere una recursión infinita al ser utilizadas en un servicio REST, se debe usar las siguientes anotaciones:  @JsonManagedReference  @JsonBackReference annotations. Entidad Padre @Entity @Table public class User extends CommonBean implements Serializable{ private static final long serialVersionUID = 1L; @Id @GeneratedValue private long id; private String name; @Column(name = "lastname") private String lastName; private String cellphone; private String email; private String password; @OneToMany(mappedBy = "user", fetch = FetchType.LAZY) @JsonManagedReference private List listHouses; } Entidad Hija @Entity public class House extends CommonBean implements Serializable { /** * */ private static final long serialVersionUID = 1L; @Id @GeneratedVa...

Configuraciones para subir archivos (Spring-boot)

Configuración de formulario Agregar: enctype="multipart/form-data"   <form th:action="@{/createUser}" th:object="${cliente}" method="post" enctype="multipart/form-data"> Configuración de application.properties Agregar las siguientes propiedades: spring.http.multipart.max-file-size=10MB spring.http.multipart.max-request-size=10MB Configuración de Controller Agregar en el RequestMapping el parámetro: @RequestParam("file") MultipartFile foto

Configuración de datasource H2 (Spring-boot)

En el archivo application.properties, digitamos las siguientes propiedades: spring.h2.console.enabled=true spring.datasource.url=jdbc:h2:mem:clientesdb spring.datasource.username=admin spring.datasource.password=1234 spring.datasource.driver-class-name=org.h2.Driver

Habilitar consola de H2 (Spring-boot)

Imagen
En el archivo application.properties digitamos la siguiente propiedad: spring.h2.console.enabled=true En el navegador digitamos: http://localhost:8080/h2-console  Se muestra la pantalla de conexión, dar clic en el botón Conectar Se muestra la consola de H2