CursosEmpresasBlogLiveConfPrecios

MVC con Spring framework

Clase 15 de 23 • Curso de Java para APIs REST 2016

Clase anteriorSiguiente clase

Contenido del curso

Este curso no es vigente
  • 1

    AVISO IMPORTANTE

    00:12
Bienvenidos
  • 2

    Frameworks y herramientas de Java

    03:55
Introducción a Java Enterprise Edition
  • 3
    Preguntas antes de la clase

    Preguntas antes de la clase

    58:12
  • 4
    Diferencia entre Java y Java Enterprise

    Diferencia entre Java y Java Enterprise

    07:52
  • 5
    Contenedores de una aplicación JEE

    Contenedores de una aplicación JEE

    02:08
  • 6

    Guía de Maven

    02:53
  • 7

    Guía de Gradle

    01:56
  • 8
    Configuración de proyecto usando Maven y Gradle

    Configuración de proyecto usando Maven y Gradle

    34:59
  • 9
    Tipos de aplicaciones Web con JEE: Presentation vs Services

    Tipos de aplicaciones Web con JEE: Presentation vs Services

    13:44
  • 10
    Java Servlets

    Java Servlets

    46:04
  • 11
    Preguntas y respuestas en clase

    Preguntas y respuestas en clase

    20:20
Spring Framework y creación de un servicio REST
  • 12
    Preguntas antes de la clase

    Preguntas antes de la clase

    49:43
  • 13
    Servicio REST con Java

    Servicio REST con Java

    25:50
  • 14
    Inyección de dependencias

    Inyección de dependencias

    41:40
  • 15
    MVC con Spring framework

    MVC con Spring framework

    30:43
  • 16
    Preguntas y respuestas en clase

    Preguntas y respuestas en clase

    14:17
Proyecto Spring MVC a producción y Java 8
  • 17
    Preguntas antes de la clase

    Preguntas antes de la clase

    49:59
  • 18
    Lambdas con Java 8

    Lambdas con Java 8

    22:48
  • 19
    Proyecto a producción con AWS ElasticBeanstalk

    Proyecto a producción con AWS ElasticBeanstalk

    58:50
  • 20
    Preguntas y respuestas en clase

    Preguntas y respuestas en clase

    17:48
Complementos del curso
  • 21
    Unit testing en Java

    Unit testing en Java

    08:59
  • 22
    JSPs y sus alternativas

    JSPs y sus alternativas

    06:56
  • 23
    Persistencia en Java con JPA y Hibernate

    Persistencia en Java con JPA y Hibernate

    00:00
    Iván Sabido

    Iván Sabido

    student•
    hace 10 años

    Seria bueno que los ejemplos los vaya creando desde el inicio y que no los importe

      Cesar David Ramírez Dimaté

      Cesar David Ramírez Dimaté

      student•
      hace 9 años

      Así es y no le tomaría mucho tiempo. De los 30 mins del vídeo es importante lo que va a explicar. Dos ejercicios para REST. Dos formas.

      1. Spring Web MVC
      2. JAX-RS

      No aclara que Spring Boot aparte de configurar Spring con algunas anotaciones permite ejecutar nuestro proyecto web con el comando gradle bootRun. Toma tiempo uno identificar estas cosas.

      Ahora, lo más interesante del asunto es que en este blog, escrito por él es fácil explicar lo de Spring con REST, no entiendo porque los complica, por qué los une, si son formas diferentes de hacer las cosas. Debe crear dos proyectos diferentes. https://platzi.com/blog/java-agil/

      Ahora, ni siquiera en el master de GitHub está el ejercicio completo, sino el que está adjunto. https://github.com/platzi/platziJava

      API REST a la final no es díficil, es serializar objetos a JSON por medio de Spring para ahorrarnos líneas de código, pero lo hace ver muy complejo cuando no lo es.

    Carlos Jesús Mestanza Jacobo

    Carlos Jesús Mestanza Jacobo

    student•
    hace 9 años

    NO ES MI TRABAJO ESTA INFORMACION (deberia cobrar a @obernal por esto).

    El spring MVC no necesita instalación de Servidor, ya lo trae por "defecto" en sus dependencias. Para la instalación de maven y el resto de herramientas, te recomiendo ir a la pagina de Eclipse y fácilmente conseguirás un IDE adecuado que contenga esas herramientas.
    Para armar un proyecto desde CERO, recomiendo esta paginahttp://start.spring.io/
    podrás elegir que dependencias a utilizar, nombre del group, artifact y versiones de spring boot disponibles
    Asi podran guiarse mas en como "arrancar" con esta parte del curso. Mas esta informacion tuvo que haber sido explicada (No es justo que uno deba de perder 1-2 dias del curso por ir a ver en otros lugares mejores explicaciones de como arrancar (por algo se pago, por un buen servicio))

      Leandro Gaston Teperino

      Leandro Gaston Teperino

      student•
      hace 9 años

      Bueno, no puedo estar mas de acuerdo, es increible como se han salteado pasos, es un trabajo de locos lo que me esta costando seguir este curso, siempre buscando por afuera, googleando, etc.

      Fernando Palacios Palacios

      Fernando Palacios Palacios

      student•
      hace 9 años

      efectiviWonder, pero lo tienes que declarar como provided, Oscar lo comento en su configuracion de gradle para <artifactId>spring-boot-maven-plugin</artifactId>

      <plugin>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-maven-plugin</artifactId>    <version>1.3.6.RELEASE</version>    <configuration>        <mainClass>main.com.Application</mainClass>    </configuration>    <executions>        <execution>            <goals>                <goal>repackage</goal>            </goals>        </execution>    </executions> </plugin> <dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-tomcat</artifactId>    <version>1.3.6.RELEASE</version>    <scope>provided</scope> </dependency>

      Por cierto con mvn (para el artifact mencionado), el Contenedor web de Tomcat se debe compilar con

      $mvn package

      y ejecutar con la jvm

      java -jar ./target/your-project.war

    Ernesto Cantu

    Ernesto Cantu

    student•
    hace 10 años

    Aquí les dejo un proyecto en github que hice con spring boot para poderlo correr sobre un tomcat de producción... esta documentado, espero les sirva

    saludos

    https://github.com/ernesto1989/spring-mvc

      Cesar David Ramírez Dimaté

      Cesar David Ramírez Dimaté

      student•
      hace 9 años

      Excelente aporte, aunque la próxima si no hagas lo del profesor de estar mezclando dos configuraciones de ejecución diferentes en un mismo proyecto.

    Mario Moncada

    Mario Moncada

    student•
    hace 9 años

    en realidad yo tambien tengo muchos vacios a la hora de crear los proyectos, me he pasado horas enteras buscando como crear los proyectos con maven y gradle. Porque el profesor va muy rápido.

      Cesar David Ramírez Dimaté

      Cesar David Ramírez Dimaté

      student•
      hace 9 años

      No creo que sea el tema que vaya tan rápido, sino que importa los proyectos, así sea transcribiendo uno ve el por qué de cada cosa.

    Ronnie Dave Cañas Pineda

    Ronnie Dave Cañas Pineda

    student•
    hace 9 años

    Un fiasco... se trata de aprender desde cero... Aquí lo único que hace es importar proyectos...

      Cesar David Ramírez Dimaté

      Cesar David Ramírez Dimaté

      student•
      hace 9 años

      Y no sólo eso, mezcla proyectos entonces uno no sabe de que está hablando, sólo cuando termina.

    Beni Alvz

    Beni Alvz

    student•
    hace 10 años

    no me gusto como explico, concuerdo que seria mejor que los explicara desde cero, asi solamente se ve de reojo sin mucho detalle lo de spring mvc ._.

    Carlos Jesús Mestanza Jacobo

    Carlos Jesús Mestanza Jacobo

    student•
    hace 9 años

    Disculpen.. pero conceptualmente Aprendi, pero en practica quede en CERO!! NO SE COMO EJECUTAR UN PROYECTO DESDE CERO!!

      Cesar David Ramírez Dimaté

      Cesar David Ramírez Dimaté

      student•
      hace 9 años
    hugo vargas

    hugo vargas

    student•
    hace 10 años

    concuerdo con los comentarios, por que no iniciar los ejemplos desde cero -.-

    Victor Moreno

    Victor Moreno

    student•
    hace 9 años

    Hay muchos vacios en este curso sinceramente, no alcanzo a comprender.

    Carlos Parra

    Carlos Parra

    student•
    hace 10 años
    package hello; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class MessagePrinter { final private MessageService service; @Autowired public MessagePrinter(MessageService service) { this.service = service; } public void printMessage() { System.out.println(this.service.getMessage()); } }
    Javier Hernandez

    Javier Hernandez

    student•
    hace 10 años

    Se  puede usar spring MVC con struts o con jsf ????

      Said Morales Lemus

      Said Morales Lemus

      student•
      hace 10 años

      se pueden con ambos, yo he hecho spring + jsf  y con eso puedes utilizar premiase, que son componentes de vista muy fácil de hacer la vista.

    jeanpier castro casanova

    jeanpier castro casanova

    student•
    hace 9 años

    siendo delicado , la verdad que a este profesor no se le entiende nada,  no sabe explicarse , peor aun , no crea el proyecto desde el inicio explicandolo, yo domino java con struts2 , que es mvc y aun asi no le entendi a este señor. decepcionado del curso.

    nada ordenado, nada claro. mejor cambienlo. saludos

      Uriel Ramírez

      Uriel Ramírez

      student•
      hace 9 años

      Lo estamos haciendo 😄

      Cesar David Ramírez Dimaté

      Cesar David Ramírez Dimaté

      student•
      hace 9 años

      Ojalá sea pronto Uriel y totalmente diferente a este curso. Veo de toda la gente que ha comentado en el curso y sólo un 5% de quienes empezaron lo terminaron. Es tedioso por el hecho de que…

      1. No adjuntan el código fuente en el vídeo de lo que está explicando el profesor y toca buscarlo por otro lado.
      2. No coloca fuentes bibliográficas! Hace pensar que todo es de su propia autoria y no! La mayoría lo saca o de los manuales de oracle o de la página oficial de Spring. Bueno, eso no importaría mucho si lo explicara bien pero tampoco.
      3. Todo el mundo está esperando ver realmente un proyecto web pero sigo esperando del tema. Uno no debería quedarse varado por temas de instalación y configuración, sino aprender a programar REST no buscar por afuera como configurar correctamente los build.gradle.

      Saludos.

    Alexander Agrazal

    Alexander Agrazal

    student•
    hace 9 años

    el titulo indica Spring framework. pero este profesor se digna a usar Jersey para quien sabe que. Enfocarse!!!

      Cesar David Ramírez Dimaté

      Cesar David Ramírez Dimaté

      student•
      hace 9 años

      Jejeje veo que no entendiste y te entiendo. El explica dos cosas, Spring y JAX-RS. El problema es que embute ambas cosas en un sólo proyecto y uno no sabe que dependencias hay para cada uno. Lo obliga a uno a revisar el código para saber que clase depende de la otra y como ejecutarla en la consola.

    Alexander Agrazal

    Alexander Agrazal

    student•
    hace 9 años

    este curso está todo mal. nada de 0. pura teoría el profe no programa en vivo.

      Uriel Ramírez

      Uriel Ramírez

      student•
      hace 9 años

      El profe si codea en vivo, pero tienes razón, este curso debe mejorar y lo estamos haciendo. Estamos recolectando todo el feedback para hacer la actualización de acuerdo a lo que esperan. Mientras tanto: ¿Que mas te gustaría aprender?

      Uriel Ramírez

      Uriel Ramírez

      student•
      hace 9 años

      Hey!, por aquí te respondí. Es muy valido tu punto de vista y entiendo tu molestia, estamos trabajando en ello.

    Julián Andrés Giraldo

    Julián Andrés Giraldo

    student•
    hace 9 años

    Alguien sabe por que por mas que lo intente si creo un proyecto maven con el eclipse nunca funcionan los servicios rest?, me saleerror 404, no reconoce los controladores.

      Alexander Agrazal

      Alexander Agrazal

      student•
      hace 9 años

      Intenta asi: al abrir eclipse, click derecho en tu proyecto run as server.

      Cesar David Ramírez Dimaté

      Cesar David Ramírez Dimaté

      student•
      hace 9 años

      Crea un proyecto desde ceros, define la carpeta src/main/java y el pom.xml con las dependencias. En la consola utilizas el comando mvn eclipse:eclipse

    Cesar David Ramírez Dimaté

    Cesar David Ramírez Dimaté

    student•
    hace 9 años

    Dejo el enlace donde el docente sacó el tema de Spring MVC

    http://spring.io/blog/2011/01/04/green-beans-getting-started-with-spring-mvc/

    Cesar David Ramírez Dimaté

    Cesar David Ramírez Dimaté

    student•
    hace 9 años

    Ejemplo y código fuente de Spring MVC utilizando WebApplicationInitializer con Maven.

    https://kielczewski.eu/2013/11/spring-mvc-without-web-xml-using-webapplicationinitializer/

    Cesar David Ramírez Dimaté

    Cesar David Ramírez Dimaté

    student•
    hace 9 años

    Deberían subir el PDF de los últimos dos vídeos.

    Cesar David Ramírez Dimaté

    Cesar David Ramírez Dimaté

    student•
    hace 9 años

    No tiene sentido que diga que el spring-boot es un módulo que permite hacer las configuraciones de Spring MVC, del ApplicationContext, del @Configuration, @ComponentScan, etc cuando incluso en el proyecto anterior de dependency-injection ni fue necesario añadirlo al build.gradle y se utilizaron esas anotaciones en la clase Application.java siendo un ejemplo standalone. Genera muchas confusiones este tipo de cosas.

    Cesar David Ramírez Dimaté

    Cesar David Ramírez Dimaté

    student•
    hace 9 años

    Pienso que el profesor debería aplicar esta imagen.

    Mejores práticas del desarrollo web

    Una regla fundamental: “Escriba el código que no entiende, así es como se explora un API. No copie el código que no entiende!”

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads