Soy un principiante con bota de resorte. Estoy involucrado en el comienzo de un proyecto en el que construiríamos servicios de descanso usando Spring Boot. ¿Podría aconsejar la estructura de directorio recomendada a seguir al crear un proyecto que solo expondrá los servicios de descanso?
ENDEESA
Desde el documentos:esta es la forma recomendada
La siguiente lista muestra un diseño típico:
com
+- example
+- myapplication
+- Application.java
+- customer
+- Customer.java
+- CustomerController.java
+- CustomerService.java
+- CustomerRepository.java
+- order
+- order.java
+- OrderController.java
+- OrderService.java
+- OrderRepository. java
La aplicación. java declararía el método principal, junto con la SpringBootApplication básica de la siguiente manera:
package com.example.myapplication;
import org. springframework.boot.springApplication;
import org.springframework.boot.autoconfigure.SprinpootApplication;
@SpringRootApplication public class Application {
public static void main(string[] args)
{
springApplication.run(Application. class, args);
}
}
-
Entonces, en este ejemplo, ¿el cliente y el pedido son carpetas o paquetes?
– Fantasma3t
30 de junio de 2020 a las 21:09
-
paquetes Pero los paquetes son solo una palabra java elegante para las carpetas que tienen clases java en ellas.
– Antonio
7 de septiembre de 2020 a las 5:21
-
Sorprendido muchos votos, con este paquete de estructura se puede ampliar el departamento/módulo sabio, también se ve un poco diferente de lo que normalmente usamos, por ejemplo. Respuesta de @Subhasish, nuevamente es preferencia del desarrollador/equipo
– Ravi Parek
10 de febrero de 2021 a las 9:08
-
Puede ser que el autor acaba de mostrar solo un propósito ilustrativo, el encabezado dice
2.2. Locating the Main Application Class
– Ravi Parek
10 de febrero de 2021 a las 9:11
-
@RaviParekh esa es la razón por la que se recomienda. Trabajamos en características, no en capas. Es muy común con muchos otros marcos.
– Nombre en clave Jack
23 de noviembre de 2021 a las 8:07
config – clase que leerá de los archivos de propiedades
caché: archivos de clase de mecanismo de almacenamiento en caché
constantes – clase definida constante
controlador – clase de controlador
excepción – clase de excepción
modelo – pojos clases estaran presentes
seguridad – clases de seguridad
servicio – Clases impl
util – clases de utilidad
validación – clases de validadores
cargador de arranque – clase principal
-
Esto es bueno para un proyecto inicial. Aún así, creo que tener paquetes como “excepciones” y “constantes” es un ejemplo de agrupación coincidente, como se indica aquí stackoverflow.com/questions/825281/… . También crea paquetes con cohesión de baja a cero, lo que puede resultar problemático en aplicaciones más grandes. en.wikipedia.org/wiki/Cohesion_(informática_ciencia)
–Alkis Mavridis
8 sep 2021 a las 10:22
El poderoso programador
Tú haces no hay que hacer algo especial para empezar. Comience con un proyecto java normal, ya sea maven o gradle o diseño de proyecto IDE con dependencia de inicio.
Solo necesita una clase principal, según la guía. aquí y descansar…
No hay una estructura de paquete restringida. La estructura real será impulsada por su requerimiento/capricho y la estructura del directorio es establecida por build-tool / IDE
Puede seguir la misma estructura que podría estar siguiendo para una aplicación Spring MVC.
Puedes seguir de cualquier manera
-
Un proyecto se divide en capas:
por ejemplo: estilo DDD
- Capa de servicio: el paquete de servicio contiene clases de servicio
- Capa DAO/REPO: paquete dao que contiene clases dao
- Capas de entidad
o
cualquier estructura de capa adecuada para su problema para el cual está escribiendo el problema.
-
Un proyecto dividido en módulos o funcionalidades o características y Un módulo está dividido en capas como arriba
Prefiero el segundo, porque sigue el contexto empresarial. Piensa en términos de conceptos.
Lo que hagas depende de cómo veas el proyecto. Son sus habilidades de organización de código.
-
sí, gracias, pero lo que me gustaría saber es cómo empaqueto los diferentes objetos en mi proyecto. ¿Dónde coloco el modelo, los servicios (si es necesario), los objetos dao y las clases impl?
– chip
1 de diciembre de 2016 a las 5:35
-
Puedes seguir la misma estructura que estás siguiendo en spring mvv..
– El poderoso programador
1 de diciembre de 2016 a las 6:04
-
¿Puede decirme dónde deberían estar los objetos DTO? ¿En Servicio, en capa persistente con entidades y dao/repo, en capa web con controladores y frontend, u otro?
– Denis Stephanov
23/01/2018 a las 23:50
-
Defina un paquete y manténgalo allí. Las capas son solo conceptos abstractos y lo ayudan a construir un modelo conceptual de pensamientos.
– El poderoso programador
24 de enero de 2018 a las 18:24
-
@theBeacon gracias, ¿y qué pasa con la seguridad? dividir archivos o almacenar en carpetas separadas? aquí está mi pregunta: stackoverflow.com/questions/48599378/… ¿podría responder por favor?
– Denis Stephanov
3 de febrero de 2018 a las 16:54
Amar Prakash Pandey
Aunque esta pregunta tiene una respuesta aceptada, me gustaría compartir la estructura de mi proyecto para los servicios RESTful.
src/main/java
+- com
+- example
+- Application.java
+- ApplicationConstants.java
+- configuration
| +- ApplicationConfiguration.java
+- controller
| +- ApplicationController.java
+- dao
| +- impl
| | +- ApplicationDaoImpl.java
| +- ApplicationDao.java
+- dto
| +- ApplicationDto.java
+- service
| +- impl
| | +- ApplicationServiceImpl.java
| +- ApplicationService.java
+- util
| +- ApplicationUtils.java
+- validation
| +- impl
| | +- ApplicationValidationImpl.java
| +- ApplicationValidation.java
DAO = Objeto de acceso a datos.
DTO = Objeto de transferencia de datos.
Raúl Kumar
Use Link-1 para generar un proyecto. este es un proyecto básico para el aprendizaje. puedes entender la estructura de carpetas. Use Link-2 para crear un proyecto básico de Spring Boot. 1: http://start.spring.io/
2: https://proyectos.spring.io/spring-boot/
Crear un proyecto gradle/maven Automáticamente se crearán src/main/java y src/main/test. cree el paquete de controlador/servicio/repositorio y comience a escribir el código.
-src/main/java(carpeta de origen) —com.package.service(paquete) —ServiceClass(Clase) —com.package.controller(paquete) —ControllerClass(Clase)
-
sí, gracias, pero lo que me gustaría saber es cómo empaqueto los diferentes objetos en mi proyecto. ¿Dónde coloco el modelo, los servicios (si es necesario), los objetos dao y las clases impl?
– chip
1 de diciembre de 2016 a las 5:35
-
Sí, si escribe algún servicio, colóquelo en el paquete de servicios. La estructura se verá algo como esto. -src/main/java (carpeta de origen)
– Raúl Kumar
1 de diciembre de 2016 a las 7:31
-
-src/main/java (carpeta de origen)
– Raúl Kumar
1 de diciembre de 2016 a las 7:31
Jobín
Utilice Spring Tool Suite (entorno de desarrollo basado en Eclipse personalizado para desarrollar aplicaciones Spring).
Cree un Spring Starter Project, creará la estructura de directorios para usted con las dependencias de Spring Boot Maven.
-
sí, gracias, pero lo que me gustaría saber es cómo empaqueto los diferentes objetos en mi proyecto. ¿Dónde coloco el modelo, los servicios (si es necesario), los objetos dao y las clases impl?
– chip
1 de diciembre de 2016 a las 5:35
-
Sí, si escribe algún servicio, colóquelo en el paquete de servicios. La estructura se verá algo como esto. -src/main/java (carpeta de origen)
– Raúl Kumar
1 de diciembre de 2016 a las 7:31
-
-src/main/java (carpeta de origen)
– Raúl Kumar
1 de diciembre de 2016 a las 7:31
Tengo un ejemplo que he estado usando durante un par de años. Por favor, eche un vistazo como referencia. github.com/bigzidane/springboot-rest-h2-swagger
– Nghia Do
15 de enero de 2018 a las 16:29