¿Por qué es tan difícil aprender Spring Framework?

Learning Spring Framework no es diferente de aprender a contar . Explico el concepto aquí.

Asumo que no nos está ” haciendo” esta pregunta aquí. De hecho, nos está diciendo que le ha resultado más difícil elegir Spring Framework y que desea una solución.

Si ese es el caso, sigue leyendo.

Si solo quiere entender por qué la primavera es difícil, omita todo lo que digo a continuación.

He estado en tu lugar y puedo relacionarme con la pregunta. Así es como abordaría la tarea de aprender Spring Framework.

(Esto a continuación se aplica a cualquier cosa con la que esté luchando y no solo para Spring o incluso la tecnología. Puede aplicar esto a cualquier cosa en la vida con una buena posibilidad de éxito).

  1. Define el problema

Definamos cuál es nuestro desafío aquí. Usted mencionó aprendizaje de Spring Framework” . Y eso merece alguna aclaración en sí mismo.

Estoy seguro de que ya ha descubierto que Spring Framework es en realidad un ecosistema de varios proyectos y módulos.

Aquí hay una explicación de este ecosistema, pero no creo que se esté refiriendo a aprender los detalles que contiene. Hay algo más que está en la mente aquí mismo en la periferia.

Todo el Spring Framework está en cuestión aquí.

  1. Divide el problema

Te beneficiaría enormemente si dividieras la pregunta en trozos más pequeños. Para aprender Spring Framework, comenzaría con la unidad de trabajo más pequeña que me llevaría al modo de aprendizaje.

En nuestro caso, si miraba la instantánea de arriba, primero querría ir al “Spring Core”. Ahí es donde comenzó la primavera. Ahí es donde todo comenzó en el mundo de la primavera.

Para comprender Spring Core, debe comprender por qué lo necesita para empezar.

También debe comprender dónde puede usarlo.

Y necesita comprender si vale la pena su tiempo para aprenderlo.

  1. Programar el aprendizaje

Tony Robbins dijo algo maravilloso el otro día:

Si habla de ello, es un sueño, si lo visualiza, es posible, pero si lo programa, es real.

Aquí es donde atacas el desafío más pequeño posible. Identificaste esto en el paso 2: era obtener un mundo hola en Spring Core. Te daré una idea de cómo es hello world:

Proporciono más de una forma de traer Spring a un proyecto desde cero aquí.

Pero hay artículos igualmente calificados en otros lugares que lo ayudarán a comenzar. Por ejemplo:

Spring MVC hola mundo ejemplo de Mkyong es excelente

Un artículo un poco desactualizado (pero relevante desde el concepto central) de Tutorialspoint está aquí

También me gustan los tutoriales de la Cueva de la Programación de John Purcell en youtube que proporcionarán un buen comienzo.

Ranga Karanam tiene una gran cantidad de videos que podrían proporcionar un buen comienzo. Aquí hay uno para principiantes.

El truco es ir pequeño y luego crecer gradualmente desde allí.

Déjeme saber si esto ayuda.

-Amitir

Descargo de responsabilidad de PS: No conozco a Ranga, Mkyong, John P ni a nadie en Tutorialspoint.

Hola,

El nivel de dificultad que pueda enfrentar al aprender Spring dependerá de su experiencia y exposición a diferentes lenguajes de programación.

Si eres un novato, para reducir la dificultad, te sugiero que aprendas Java y entiendas sus fundamentos de manera bastante justa. Puede consultar la serie de blogs de Java aquí.

¿Por qué te sugiero que aprendas Java?

Spring es uno de los frameworks Java más populares. Por Java Framework, quiero decir, grandes cuerpos de código predefinido que puede aplicar a su propio código para resolver su problema en un dominio específico. Puede usar un marco llamando a sus métodos, herencia, proporcionando “devoluciones de llamada”, escuchas u otras implementaciones del patrón Observador .

Ahora, si ya ha terminado, puede comenzar a aprender Spring Framework entendiendo:

  1. Por qué estamos usando Spring y cuáles son las razones por las cuales Spring entró en uso. Esto te ayudará a comprender mejor la primavera.
  1. Comprender el marco de primavera
  2. Arquitectura de primavera
  3. Diferentes módulos y cuál es su propósito.
  4. ¿Qué es la dependencia, cómo se hace?
  5. Contenedor de IoC y su finalidad
  6. Frijoles, etc.

Una vez que haya terminado con todo esto, puede consultar una demostración práctica (ejemplos del mundo real) que lo ayudará a comprender mejor los conceptos que estudió.

Ahora ya sabes lo básico. Hay muchos más conceptos como AOP, MVC, acceso a datos, anotaciones, etc. Comprenda cada uno de estos junto con demostraciones prácticas. Le ayudará a pasar un buen momento para implementar su propio código.

Si puede seguir todos los pasos enumerados anteriormente, creo que aprender Spring Framework ya no será difícil.

Para comenzar con Spring Framework, enumero algunos blogs de Spring:

  • ¿Qué es Spring Framework? Edureka
  • Tutorial de primavera | Edureka
  • Las 50 preguntas principales de la entrevista de primavera para 2018 | Edureka

En caso de que no le guste leer, puede ver los siguientes videos de la misma:

Espero que esto ayude. Feliz aprendizaje !!

Porque hace mucho por ti.

Cuando comencé a aprender Spring Framework, estaba completamente perdido cada vez que algo salía mal porque no sabía dónde iban mal las cosas. La razón por la que no sabía eso era porque no entendía completamente todas las cosas que el marco estaba manejando para mí y, por lo tanto, todo parecía magia y la magia es difícil de depurar .

El mayor problema era que no entendía qué era la inyección de dependencia, o por qué era algo bueno, o cómo lo hacía Spring. Este patrón es esencial para el marco de Spring y puede hacer que todo lo demás parezca mágico si no lo comprende. Básicamente, permite que el marco gestione todas las tareas de búsqueda, creación y vinculación de sus objetos. Con una configuración de inyección de dependencia configurada correctamente, es posible que no tenga que usar la palabra clave ‘nuevo’, lo cual es muy bueno porque usar ‘nuevo’ lo vincula a una implementación específica de una clase, mientras que con la inyección de dependencia es muy fácil conectar en una versión diferente de esa clase sin cambiar ninguno de los códigos en la clase que lo usa .

Todas las otras piezas de Spring hacen cosas igualmente impresionantes para ti sin que tengas que preocuparte por ellas hasta que algo salga mal . Spring MVC puede manejar todo su enrutamiento con anotaciones fáciles, pero usted comprende mejor cómo funciona su resolución de vista si desea hacerse elegante o si algo se rompe. Spring batch le permite olvidarse de las cosas de configuración de bajo nivel detrás de la ejecución de grandes trabajos por lotes y simplemente centrarse en los pasos reales, pero debe comprender lo que está haciendo para maximizar realmente su potencial y rendimiento.

Las bibliotecas más útiles son a menudo las más difíciles de comenzar porque hacen mucho por usted. Sin embargo, al final vale la pena, e incluso si no aprende Spring, tómese el tiempo para aprender acerca de la inyección de dependencia porque es absolutamente clave para diseñar sistemas grandes que aún sean flexibles.

En primer lugar, por razones históricas … Específicamente: Spring fue escrita en 2003 hace casi 12 años, e incluso entonces se basó en muchas otras piezas de tecnología. Y durante esos 12 años, siguió agregando y agregando.

En parte, eso significa que puedes hacer cosas de Spring de muchas maneras diferentes. Lo que causa dolores de cabeza y oscuridad. Desde Spring-boot, XML’s, anotaciones y SPEL …

Tampoco ayuda que puedas hacer todo lo que Spring te da, tú mismo. Puede usar Spring-data, o simplemente llamarlo usted mismo. Puedes usar Spring-boot, o no. Puede usar Spring-batch o codificarlo usted mismo.

La segunda razón es el código mágico. Cuando escribes un código que haces algo inesperado, es código mágico. Si mi función hace principalmente X, pero también ocasionalmente maneja Y y Z, hace que mi código sea difícil de entender y depurar. La primavera se trata de eso. Solo que no es tu código, y realmente no puedes preguntarle a nadie …

La tercera razón es la inyección de dependencia: es un nombre muy malo, para una idea muy buena, pero bastante compleja. He visto a muchos desarrolladores cometer errores con Spring, incluso cuando pensaron que entendían el concepto.

Y hay otras razones también.

Sin embargo, todavía hay esperanza …

Usando Spring-Boot en un nuevo proyecto, y siguiendo los ejemplos proporcionados por Spring, uno puede llegar bastante lejos … Entonces, solo es cuestión de crecer para comprender el idioma.

He estado usando Spring durante los últimos 4 años (con mucha experiencia en el desarrollo del lado del servidor antes de eso), y no me considero un caballo de fuerza de Spring. Todavía tengo muchas lagunas en el marco. Pero, después de un año o, llegas al punto, donde puedes cerrar cualquier brecha que encuentres usando google / stack-overflow / mirando el código en un día o dos.

Eso es porque :

  • Spring es capaz de hacer muchas cosas que se pueden usar en una aplicación empresarial.
  • Spring es una colección de muchas bibliotecas diferentes: core DI, web mvc, data, security, social, aop, etc.
  • Hay muchas maneras de hacer algo usando Spring.
    • Los principiantes se confunden cuando buscan en línea y ven un enfoque diferente para hacer lo mismo
    • Siguen cambiando (mejorando) la biblioteca
  • Configurar una aplicación básica y diferentes versiones de bibliotecas funcionan juntas solía ser una molestia (ahora tiene Spring boot … ¡no más conflictos de configuración y versión XML!). Si miras una vieja publicación de blog y tratas de seguir su camino, podrías encontrarte con frustraciones.
  • Spring Framework está diseñado para soportar el desarrollo de aplicaciones empresariales. Los cuales son inherentemente complejos. Escribí una publicación de blog sobre los desafíos que enfrenta en el desarrollo de aplicaciones empresariales aquí: Uso de Spring Framework para el desarrollo de aplicaciones empresariales.

    Spring Framework en sí mismo, es en realidad una colección de más de 30 proyectos diseñados para abordar diferentes aspectos del desarrollo de aplicaciones empresariales. ¿Sitio web? Spring MVC. Hablando con una base de datos? Datos de primavera. ¿Necesitas asegurar el acceso? Seguridad de primavera. etc.

    Hay mucha profundidad en Spring Framework. No es algo que puedas aprender leyendo un libro durante el fin de semana. La primavera es demasiado grande.

    Ofrezco cursos de capacitación sobre Spring Framework en mi sitio web. Mi primer curso, llamado Introducción a Spring, realmente pretende ser una orientación para Spring Framework. Les presento a los estudiantes conceptos fundamentales en Spring Framework, como la inyección de dependencia y la inversión del control. También muestro a los estudiantes algunos ejemplos simples de programación en primavera. Concluyo el curso explicando cómo se usan comúnmente varios subproyectos de Spring en la construcción de sitios web a gran escala.

    Al diseñar mi curso Spring Core, miré ofertas similares en el mercado. Lo que vi fueron varios cursos bastante académicos, donde se explicaron las características y la funcionalidad de Spring, pero parecían tener poco contenido práctico y pragmático. Sé que personalmente aprendo mejor al hacerlo, así que diseñé mi curso para tener mucho contenido práctico. Les muestro a mis alumnos cómo construir un sitio web usando Spring. Comienzo con algo muy simple, luego agrego nuevas características al sitio web de manera incremental para demostrar las características en Spring. Por ejemplo, comenzamos mostrando una lista de productos en una página web usando Thymeleaf y Spring MVC. Inicialmente, los datos del producto se sirven de un hashmap de Java codificado. Más adelante en el curso, proporcionamos una implementación que extrae datos de una base de datos H2 en memoria. Y progresamos al uso de MySQL también. Con solo pulsar un interruptor, la aplicación web puede leer datos del hashmap original, H2 o MySQL. Todo esto se hace a través de la configuración de Spring.

    Al adoptar este enfoque, mis alumnos obtienen experiencia práctica pragmática con Spring. Y les muestro ejemplos pragmáticos y proporciono información de mis más de 10 años desarrollando aplicaciones Spring. Siento que este enfoque es mucho más efectivo que simplemente explicar las características de Spring.

    Desarrollar aplicaciones de clase empresarial no es fácil. La primavera es compleja y grande, porque aborda problemas complejos y grandes. Pero al usar Spring, una vez que aprende el marco, se vuelve más productivo al abordar la funcionalidad empresarial al permitir que el marco maneje tareas comunes.

    Una vez que comience a aprender Spring Framework en un enfoque paso a paso, no le resultará difícil. Te recomendaría el tutorial de Java Brains Spring, me ayudó cuando comencé a aprender.

    La mejor parte del tutorial es que el tutor Koushik Kothagal ha explicado los temas en videos pequeños y pequeños de 5 a 10 minutos cada uno. He probado muchos tutoriales de los cuales encontré este modo más rápido y fácil para comenzar con Spring.

    Una vez que obtenga los conceptos básicos de Spring y comience, para obtener información detallada en profundidad, también sugeriría la documentación de referencia de Spring Framework. Este documento es muy fácil de entender con conocimientos generales del marco.

    “Las mejores cosas de la vida son gratis”

    Sugeriré aprender Spring de este curso –

    ¡Este curso cubre las ÚLTIMAS VERSIONES de Spring 5 e Hibernate 5!

    Cree una aplicación web completa Spring MVC + Hibernate CRUD … ¡todo desde cero!

    Aprenderá sobre: ​​Spring Core, AOP, Spring MVC, Spring Security e Hibernate … todo conectado a una base de datos MySQL

    Al final de este curso, creará todo el código fuente para una aplicación Spring MVC – Hibernate CRUD completa.

    Spring Framework 5: Learn Spring Core, Spring AOP, Spring MVC, Spring Security, Hibernate – Curso más popular de Spring 5

    Enlace del curso: primavera e hibernación para principiantes

    ¿Que aprenderás?

    • Desarrolle una aplicación CRUD completa con Spring MVC e Hibernate … todo desde SCRATCH
    • TIPARÁS CADA LÍNEA de código conmigo en los videos. ¡EXPLICO cada línea!
    • APRENDA las características clave de Spring: Core, Anotaciones, Configuración de Java, Spring AOP, Spring MVC, Spring Security, Hibernate CRUD y Maven
    • ¡Únase a una COMUNIDAD ACTIVA de más de 40,000 estudiantes que ya están inscritos! Más de 11,000+ Comentarios – 5 ESTRELLAS
    • Se añaden nuevos videos sobre temas populares. ¡Tendrás acceso a contenido FRESCO!
    • Soy un INSTRUCTOR RESPONSABLE … publique sus preguntas y responderé en 24 horas.
    • Los estudiantes han aterrizado nuevos empleos con las habilidades de este curso. ¡Busque las reseñas para “HISTORIA DE ÉXITO”!
    • Puede DESCARGAR todos los videos, el código fuente y los PDF. Perfecto para APRENDIZAJE y REVISIÓN sin conexión.

    Requisitos

    • Se requieren conocimientos básicos de Java
    • El conocimiento básico de HTML es útil

    Público objetivo: Desarrolladores Java con experiencia básica en Java

    ¿Quién es el público objetivo?

    • El curso es apropiado para todos los desarrolladores de Java: principiantes hasta avanzados.

    Descripción del curso por instructor

    APRENDA estos TEMAS CALIENTES en la primavera 5:

    • Spring Core
    • Anotaciones de primavera
    • Configuración de Spring Java
    • Spring AOP
    • Spring MVC
    • CRUDO Hibernado
    • Aplicación Spring MVC e Hibernate CRUD
    • Spring Security (con cifrado de contraseña en la base de datos)
    • Maven

    ¡Este curso cubre las ÚLTIMAS VERSIONES de Spring 5 e Hibernate 5!

    Cree una aplicación web completa Spring MVC + Hibernate CRUD … ¡todo desde cero!

    Aprenderá sobre: ​​Spring Core, AOP, Spring MVC, Spring Security e Hibernate … todo conectado a una base de datos MySQL

    Al final de este curso, creará todo el código fuente para una aplicación Spring MVC – Hibernate CRUD completa.

    Escribirás cada línea de código con el instructor en los videos … todo desde cero.

    Instructore explicará cada línea de código que creamos. Por lo tanto, este no es un ejercicio de copiar / pegar, tendrá una comprensión completa del código.

    ¡Únete a más de 40,000 estudiantes que ya están inscritos!

    ¡Más de 11,000+ reseñas! (la mayoría de las revisiones para cualquier curso Spring-Hibernate en Udemy)

    Todo el código fuente está disponible para descargar

    Instructor receptivo: todas las preguntas se responden dentro de las 24 horas

    Los PDF de todas las conferencias están disponibles para descargar

    Subtítulos / subtítulos disponibles para inglés (¡nuevo!)

    Grabaciones profesionales de video y audio (consulte las vistas previas gratuitas)

    Este curso incluye mini-cursos sobre Maven y Spring Security. Estos mini cursos están diseñados para ayudarlo a comenzar rápidamente con Maven y Spring Security.

    El mini curso de Maven incluye 16 videos (1 hora de video)

    El mini curso Spring Security incluye 68 videos (5 horas de video).

    Todo esto está incluido en este curso existente. 🙂
    Beneficios de tomar este curso de primavera e hibernación

    Conocer Spring e Hibernate puede conseguirte un trabajo o mejorar el que tienes . Es una habilidad que lo demandará más en la industria Java empresarial y facilitará la vida de su software, por eso es tan popular.

    ¡Casi todas las ofertas de empleo requieren habilidades en Spring e Hibernate!

    Este curso lo ayudará a ponerse al día rápidamente con Spring e Hibernate . Desmitificaré la tecnología y lo ayudaré a comprender los conceptos esenciales para construir una aplicación Spring e Hibernate real desde cero.

    Aprenderás cómo

    Spring Core

    • Cree un proyecto completo Spring MVC y Hibernate CRUD … todo desde cero
    • Configure su entorno de desarrollo Spring e Hibernate con Tomcat y Eclipse
    • Alambre frijoles juntos en el contenedor Spring utilizando Inversión de Control
    • Configure el contenedor Spring para inyección de dependencias
    • Definir Spring Beans usando la anotación @Component
    • Realizar escaneo automático de Spring Beans para minimizar la configuración
    • Conecte automáticamente los beans juntos mediante la anotación @Autowired
    • Aplicar toda la configuración de Java a Spring Beans (no xml)

    Spring MVC

    • Configure su entorno Spring MVC con configuraciones y directorios
    • Crear controladores usando la anotación @Controller
    • Leer datos de formulario HTML con @RequestParam
    • Aproveche el modelo Spring MVC para transportar datos entre el controlador y ver la página
    • Definir asignaciones de solicitudes para solicitudes GET y POST
    • Minimice la codificación con el enlace de datos Spring MVC Form
    • Aplicar la validación del formulario Spring MVC en la entrada del usuario
    • Crear reglas de validación de formulario Spring MVC personalizadas

    Hibernar

    • Realizar mapeo objeto / relacional con Hibernate
    • Aproveche la API de Hibernate para desarrollar aplicaciones CRUD
    • Desarrolle consultas utilizando el lenguaje de consulta de Hibernate (HQL)
    • Integre Spring MVC e Hibernate en un solo proyecto de aplicación
    • Aplique asignaciones avanzadas de Hibernate: uno a uno, uno a muchos y muchos a muchos

    Spring AOP

    • Aplique AOP de programación orientada a aspectos para preocupaciones transversales
    • Examine los casos de uso de AOP y cómo AOP puede resolver el enredo de códigos
    • Crear expresiones de corte de punto AOP para que coincidan con las invocaciones de métodos
    • Aproveche las anotaciones de AOP: @Before, @After, @AfterReturning, @AfterThrowing, @Around
    • Cree una aplicación en tiempo real usando AOP y Spring MVC juntos en un solo proyecto

    Seguridad de primavera

    • Asegure su aplicación web con Spring Security
    • Configure su archivo Maven pom.xml con dependencias de Spring Security compatibles
    • Configure Spring Security con toda la configuración de Java (sin xml)
    • Cree páginas de inicio de sesión personalizadas de Spring Security con Bootstrap CSS
    • Agregue soporte para cerrar sesión con las funciones predeterminadas de Spring Security
    • Aproveche el soporte de Spring Security para la falsificación de solicitudes entre sitios (CSRF)
    • Definir usuarios y roles para la autenticación.
    • Muestra la información de inicio de sesión del usuario y el rol con las etiquetas de Spring Security
    • Restrinja el acceso a las URL en función del rol del usuario
    • Ocultar y mostrar contenido según el rol del usuario
    • Agregue autenticación JDBC, almacene cuentas de usuario y contraseñas en la base de datos
    • Almacene contraseñas encriptadas en la base de datos usando bcrypt
    • Registre nuevos usuarios y cifre las contraseñas con código Java

    Maven

    • Simplifica tu proceso de construcción con Maven
    • Crear archivos Maven POM y agregar dependencias
    • Buscar en el repositorio de Central Maven para las coordenadas de dependencia
    • Ejecute compilaciones de Maven desde el IDE de Eclipse

    Sin riesgo – Garantía de devolución de dinero

    Finalmente, no hay riesgo . Puede obtener una vista previa del 25% del curso de forma gratuita. Una vez que compre el curso, si por alguna razón no está satisfecho con el curso, Udemy ofrece una garantía de devolución de dinero de 30 días .

    Por lo tanto, no tiene nada que perder, regístrese en este curso y aprenda a construir aplicaciones Spring e Hibernate desde cero