Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.

...

Bloque de código
languagexml
	<properties>
		<log4j2.version>2.17.1</log4j2.version>
    <dependencies>
		<!-- JWT -->
		<dependency>
			<groupId>io.jsonwebtoken</groupId>
			<artifactId>jjwt</artifactId>
			<version>0.9.1</version>
		</dependency>

		<!-- Data JPA -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- Hibernate -->
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-jpamodelgen</artifactId>
			<version>5.4.12.Final</version>
			<scope>provided</scope>
		</dependency>

		<!-- Real DB -->
		<dependency>
			<groupId>com.oracle</groupId>
			<artifactId>jdbc.driver</artifactId>
			<version>11.2.0.3.0</version>
		</dependency>

        <!-- TOMCAT -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>    

        <!-- SECURITY -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-security</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- TEST -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- Test DB -->
		<dependency>
			<groupId>com.h2database</groupId>
			<artifactId>h2</artifactId>
			<scope>test</scope>
		</dependency>

		<!-- Selenium -->
		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-java</artifactId>
			<!-- <version>3.141.59</version> -->
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
		</dependency>

        <!-- Log4j2 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-log4j2</artifactId>
		</dependency>

		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-layout-template-json</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- frontLogger -->
		<dependency>
			<groupId>es.um.atica.fundewebjs.fundewebjs-api</groupId>
			<artifactId>fundewebjs-lagar</artifactId>
			<version>1.0.0-SNAPSHOT</version>
		</dependency>

		<!-- Lombok -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>

	</dependencies>

	<repositories>
		<repository>	<!-- API DOC -->
		<dependency>
			<id>archiva.atica.umu.es</id><groupId>org.springdoc</groupId>
			<name>ATICA - UMU Repository</name><artifactId>springdoc-openapi-webmvc-core</artifactId>
			<url>https://archiva.um.es/archiva/repository/FundeWeb/</url>
			<releases><version>${springdoc.version}</version>
		</dependency>

		<dependency>
				<enabled>true</enabled><groupId>org.springdoc</groupId>
			</releases><artifactId>springdoc-openapi-hateoas</artifactId>
			<snapshots>
				<enabled>true</enabled><version>${springdoc.version}</version>
			</snapshots>dependency>
		</repository>
		<repository><dependency>
			<id>fundewebjs.archiva.atica.umu.es</id><groupId>org.springdoc</groupId>
			<name>ATICA - UMU Repository - FundeWebJS</name><artifactId>springdoc-openapi-data-rest</artifactId>
			<url>https://archiva.um.es/archiva/repository/FundeWebJS/</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>  </repositories>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.hibernate.orm.tooling</groupId>
				<artifactId>hibernate-enhance-maven-plugin</artifactId>
				<version>${hibernate.version}</version>
				<executions>
					<execution>
						<configuration>
							<failOnError>true</failOnError>
							<enableLazyInitialization>true</enableLazyInitialization>
							<enableDirtyTracking>true</enableDirtyTracking>
							<enableAssociationManagement>true</enableAssociationManagement>
							<enableExtendedEnhancement>false</enableExtendedEnhancement>
						</configuration>
						<goals>
							<goal>enhance</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<!-- JaCoCo configuration -->
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco<version>${springdoc.version}</version>
		</dependency>

		<!-- Servicios RRHH Client -->
		<dependency>
			<groupId>es.um.atica.fundewebjs.fundewebjs-api</groupId>
			<artifactId>fundewebjs-serviciosrrhh-client</artifactId>
			<version>1.0.2-SNAPSHOT</version>
		</dependency>   </dependencies>

	<repositories>
		<repository>
			<id>archiva.atica.umu.es</id>
			<name>ATICA - UMU Repository</name>
			<url>https://archiva.um.es/archiva/repository/FundeWeb/</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>
		<repository>
			<id>fundewebjs.archiva.atica.umu.es</id>
			<name>ATICA - UMU Repository - FundeWebJS</name>
			<url>https://archiva.um.es/archiva/repository/FundeWebJS/</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>  </repositories>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.hibernate.orm.tooling</groupId>
				<artifactId>hibernate-enhance-maven-plugin</artifactId>
				<version>0.7.7.201606060606</<version>${hibernate.version}</version>
				<executions>
					<execution>
						<goals><configuration>
							<goal>prepare-agent<<failOnError>true</goal>failOnError>
						<	<enableLazyInitialization>true</goals>enableLazyInitialization>
							<<enableDirtyTracking>true</execution>enableDirtyTracking>
					<execution>		<enableAssociationManagement>true</enableAssociationManagement>
							<id>report<<enableExtendedEnhancement>false</id>enableExtendedEnhancement>
						<phase>prepare-package<</phase>configuration>
						<goals>
							<goal>report<<goal>enhance</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<!-- JaCoCo Enunciateconfiguration -->
			<plugin>
				<groupId>com<groupId>org.webcohesion.enunciate<jacoco</groupId>
				<artifactId>enunciate<artifactId>jacoco-maven-plugin</artifactId>
				<version>2<version>0.7.137.0<201606060606</version>
				<dependencies><executions>
					<dependency><execution>
						<groupId>com.webcohesion.enunciate</groupId><goals>
						<artifactId>enunciate	<goal>prepare-lombok<agent</artifactId>goal>
						<version>2.9.1</version></goals>
					</dependency>execution>
				</dependencies>
				<executions>
					<execution>
						<id>fdwjs<<id>report</id>
						<configuration><phase>prepare-package</phase>
							<docsDir>${basedir}/src/main/resources/</docsDir><goals>
							<docsSubdir>static/docs/</docsSubdir><goal>report</goal>
						</configuration>goals>
					</execution>
				</executions>
			</plugin>

			<!-- FIN Enunciate -->

			</plugins>
	</<plugin>
				<groupId>com.webcohesion.enunciate</groupId>
				<artifactId>enunciate-maven-plugin</artifactId>
				<version>2.13.0</version>
				<dependencies>
					<dependency>
						<groupId>com.webcohesion.enunciate</groupId>
						<artifactId>enunciate-lombok</artifactId>
						<version>2.9.1</version>
					</dependency>
				</dependencies>
				<executions>
					<execution>
						<id>fdwjs</id>
						<configuration>
							<docsDir>${basedir}/src/main/resources/</docsDir>
							<docsSubdir>static/docs/</docsSubdir>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<!-- FIN Enunciate -->

		</plugins>
	</build>

application.properties

Como hemos visto en el apartado anterior, en el archivo application.properties incluiremos algunas variables de configuración del proyecto:

Bloque de código
########## RUTA########## BASERuta REST ##########oauth
server.servlet.context-path=/apiapp.author=acade
app.apiname=expedienteacademico-api
app.server.path=/${app.author}/${app.apiname}

########## BASE DE DATOS ##########
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.Oracle10gDialect
spring.jpa.hibernate.ddl-auto = validateEntorno
app.env=desa

########## BASE DE DATOS ##########
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
spring.jpa.generate-ddl=false
spring.jpa.hibernate.ddl-auto = validate 

spring.datasource.url=jdbc:oracle:thin:@hydra-prescan.atica.um.es:1526/ZEUSDESA
spring.datasource.username=USER
spring.datasource.password=PASSWORD

########## ACTUATOR ##########
management.endpoints.enabled-by-default=false
management.endpoint.health.enabled=true
management.endpoints.web.exposure.include=health
management.health.probes.enabled=true
management.endpoint.health.group.liveness.include=livenessstate,ping
management.endpoint.health.group.readiness.include=readinessstate,ping
management.endpoint.health.group.custom.include=db

########## FRONT-LOGGER ##########
# FundeWebJS Habilitar endpoint jsn.logger
fdwjs.api.frontLogger.enable=true

# FundeWebJS Habilitar filtro para cabeceras en logs MDC de lagar 
fdwjs.api.lagar.enable=true 
fdwjs.api.lagar.headers=UMU-User-UUID,UMU-Client-APP

...

En la clase que inicia la aplicación, que será algo como NombreApplication.java, sustituyendo Nombre por el de nuestra aplicación, tendremos que añadir a la clase la anotación @ComponentScannotación SpringBootApplication el atributo scanBasePackages, con el contenido siguiente:

Bloque de código
languagejava
@ComponentScan@SpringBootApplication( basePackagesscanBasePackages = {
		"es.um.atica.aplicacion[PAQUETE_APPLICATION]", "es.um.atica.fundewebjs"
} )

...