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 18:02]
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 ======
backend_java_-_spring_-_tomcat_-_mysql.1514394149.txt.gz · Last modified: 2017/12/27 18:02 by admin