User Tools

Site Tools


backend_java_-_spring_-_tomcat_-_mysql

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
backend_java_-_spring_-_tomcat_-_mysql [2017/12/27 17:32]
admin
backend_java_-_spring_-_tomcat_-_mysql [2017/12/29 12:47] (current)
admin
Line 24: Line 24:
  
 ====== Código java acceso a la base de datos y representación en pantalla ====== ====== Código java acceso a la base de datos y representación en pantalla ======
 +
 +===== Entity =====
  
 Para el acceso a la base de datos hay que crear una entidad que será la encargada de recoger los datos de una tabla del modelo. Esto se hace creando el fichero Secrel_section.java (que es el nombre de la tabla) y se guarda en el directorio src/​main/​java/​com/​testSrping/​demoArtifact/​model. Para el acceso a la base de datos hay que crear una entidad que será la encargada de recoger los datos de una tabla del modelo. Esto se hace creando el fichero Secrel_section.java (que es el nombre de la tabla) y se guarda en el directorio src/​main/​java/​com/​testSrping/​demoArtifact/​model.
  
-Para permitir un Crud se definirá un CrudRepository que extiende el CrudRepository de Spring. Se guardará un SectionRepository en src/​main/​java/​com/​testSrping/​demoArtifact/​repository. ​+ 
 +===== Repositorios ===== 
 + 
 +Para permitir un Crud se definirá un CrudRepository que extiende el CrudRepository de Spring. Se guardará un SectionRepository en src/​main/​java/​com/​testSrping/​demoArtifact/​repository. ​El repositorio debe extender de JpaRepository<​UserEntity,​ Integer>​ 
 + 
 +Es posible exponer un repositorio como un servicio mediante la anotación @RepositoryRestResource(itemResourceRel="​user",​ collectionResourceRel = "​user",​ path = "​administrators"​). Todos los métodos que tengan exposed = true pueden invocarse con el argumento de cada método. Es posible devolver una vista de los datos mediante las proyecciones. Únicamente las he hecho funcionar mediante compilación,​ no mediante invocación ?​projection=p en la url 
 + 
 +Hará falta sustituir la línea anterior por @RepositoryRestResource(itemResourceRel="​user",​ collectionResourceRel = "​user",​ path = "​administrators",​ excerptProjection = UsersProjection.class) 
 + 
 +===== Proyecciones ===== 
 + 
 +Es una visión diferente de lo que devuelve el repositorio. Se aplican a las entidades. En src/​main/​java/​com/​testSpring/​demoArtifact/​projection se define una interfaz con los métodos get de aquellos atributos a los que se quiere acceder y se declara la siguiente directiva @Projection(name = "​editp",​ types = UserEntity.class). Las proyecciones no pueden ser usadas en los controladores. Tan sólo se pueden usar en los repositorios 
 + 
 +===== Servicios =====
  
 Se crearán los servicios necesarios para su acceso, que se colocarán en src/​main/​java/​com/​testSrping/​demoArtifact/​service. Se creará una clase y su interfaz. Secrel_sectionService y ISecrel_sectionService. Los métodos del servicio utilizarán el repositorio que será inyectado por Spring Se crearán los servicios necesarios para su acceso, que se colocarán en src/​main/​java/​com/​testSrping/​demoArtifact/​service. Se creará una clase y su interfaz. Secrel_sectionService y ISecrel_sectionService. Los métodos del servicio utilizarán el repositorio que será inyectado por Spring
  
-Finalmente se creará un fichero controlador ubicado en src\main\java\com\testSpring\demoArtifact\controller. Aquí se mapearán con directivas ​las rutas a las que se quiere dar visibilidad desde la aplicación.+ 
 +===== Controlador ===== 
 + 
 +Finalmente se creará un fichero controlador ubicado en src\main\java\com\testSpring\demoArtifact\controller. Aquí se mapearán con anotaciones ​las rutas a las que se quiere dar visibilidad desde la aplicación. ​Se mapea con la anotación @RequestMapping("/​user/​{id}"​). Será dentro de cada controlador donde se invocará el servicio que será inyectado por Spring y se devolverá mediante return new ResponseEntity<​UserEntity>​(u,​ HttpStatus.OK);​ Esto devuelve por el servidor web un json con el objeto respuesta
  
 ====== Ejecución de la aplicación ====== ====== Ejecución de la aplicación ======
Line 41: Line 59:
  
 Para la auditoría se utiliza envers, que se configurará a través de Maven. http://​www.baeldung.com/​database-auditing-jpa Para la auditoría se utiliza envers, que se configurará a través de Maven. http://​www.baeldung.com/​database-auditing-jpa
 +
 +====== Configuración de la aplicación ======
 +
 +Mediante la directiva @Configuration. Aquí se especificarán los mensajes de la aplicación escritos en ficheros de propiedades
 +
 +Configuración del correo electrónico
 +Se realiza mediante la directiva de configuración. Se lee directamente un fichero de propiedades y se carga en un objeto
  
backend_java_-_spring_-_tomcat_-_mysql.1514392328.txt.gz · Last modified: 2017/12/27 17:32 by admin