¿Cómo resolver el problema cuando Spring JPA falla al usar la anotación @service?
Es decir, el archivo no fue escaneado. Verifique si la ruta del paquete después del empaquetado es la ruta del paquete escaneada por Spring. Cuando se ejecuta el proyecto, el proyecto empaquetado en un jar equivale a descomprimir el contenido de. el paquete comprimido en clases.
El soporte proporcionado por el framework Spring para JPA se refleja principalmente en los siguientes aspectos:
En primer lugar, hace que la configuración de JPA sea más flexible.
La especificación JPA requiere que el archivo de configuración se llame persistence.xml y exista en el directorio META-INF en el classpath. Este archivo suele contener toda la información necesaria para inicializar el motor JPA. El LocalContainerEntityManagerFactoryBean proporcionado por Spring proporciona una configuración muy flexible, y la información en persistence.xml se puede proporcionar aquí mediante la inyección de atributos.
En segundo lugar, Spring implementa algunas funciones que sólo están disponibles en el entorno del contenedor EJB.
Por ejemplo, soporte de inyección de contenedores para @PersistenceContext y @PersistenceUnit.
En tercer lugar, Spring extrae la creación y destrucción, la gestión de transacciones y otros códigos de EntityManager y los gestiona de manera uniforme.
4. Los desarrolladores no necesitan preocuparse por estos. Solo el código para operar objetos de dominio se deja en el método comercial. El código para la gestión de transacciones y la creación y destrucción de EntityManager ya no requiere que los desarrolladores se preocupen.