1. Escenarios empresariales
Existen métodos estáticos en aplicaciones de Spring Framework que necesitan depender de clases gestionadas por contenedores, como este:
Esto definitivamente reportará java.lang.NullPointerException: null exception.
2. Análisis de principios
Las variables estáticas y las variables de clase no son propiedades de objetos, sino propiedades de una clase, por lo que los métodos estáticos pertenecen a clases, los métodos ordinarios a objetos entidad (es decir, objetos nuevos), y la inyección de resorte instancia objetos en contenedores, por lo que no se pueden usar métodos estáticos.
El uso de variables estáticas y de clase amplía el alcance de los métodos estáticos. No se recomiendan métodos estáticos en primavera, y el principal objetivo de la inyección de dependencias es permitir que los contenedores generen instancias de un objeto y luego las utilicen durante toda su vida útil, al tiempo que facilitan las pruebas.
Una vez que usas el método estático, ya no necesitas generar instancias de esta clase, lo que dificulta las pruebas, y no puedes confiar en la inyección para generar múltiples instancias con diferentes dependencias para una clase dada, que es implícitamente compartida y es un estado global, lo cual tampoco es recomendado por Spring.
3. Solución
1. Añadir @Autowire al método de construcción
2. Anota con @PostConstruct
|