Curso Spring. Java Annotations X. @PropertySource y @Value. Vídeo 25

Поділитися
Вставка
  • Опубліковано 3 жов 2024
  • Seguimos avanzando con las anotaciones. En este vídeo vemos @PropertySource y @Value. Estas anotaciones nos permitirán inyectar valores de propiedades desde un archivo externo.
    Para más cursos, ejercicios y manuales visita: www.pildorasinformaticas.es

КОМЕНТАРІ • 35

  • @sergeog2276
    @sergeog2276 5 років тому +28

    para hacer las importaciones de una forma más productiva podría utilizar el siguiente shortcut de Eclipse:
    Ctrl + Shift + O
    Este shortcut agrega todas las importaciones que hagan falta en la clase en cuestión
    Gracias por sus aportaciones, saludos y abrazo desde México.

  • @pariksiterikrsnanortiz3435
    @pariksiterikrsnanortiz3435 5 років тому +6

    Me puse al día! Saludos Juan muy agradecido por todos los conocimientos impartidos.

  • @DuardoQG
    @DuardoQG 6 місяців тому

    Vaya lio es el Spring al principio, menos mal que Juan explica muy bien pero aún así me estoy enterando de la mitad.

  • @marcos-dev
    @marcos-dev 5 років тому +3

    Ya estaba esperando el vídeo, gracias.
    Sigo esperando el proximo, quiero seguir aprendiendo este framework de JavaEE

  • @anthonyf6739
    @anthonyf6739 5 років тому +1

    me encanto la clase, gracias por tomarte el tiempo de enseñarnos estoy aprendiendo bastante con tu canal.

  • @jlestua
    @jlestua 5 років тому

    Excelente 👍 👍 👍. Como siempre muy buena clase. Éxitos, saludos.

  • @Testuy606
    @Testuy606 5 років тому

    Geniales tus cursos de spring. Me los estoy viendo todo, porque me pidieron un apartado web para mi tesis y no tenía ni idea de spring !

  • @gabriellagos6834
    @gabriellagos6834 5 років тому

    Gran maestro, se agradece su gran conocimiento. Ya termine todo lo que tienes de este curso, intenta subir lo más rápido que puedas subir más contenido sobre esto :D. Gracias!!!

  • @teldatamcy5656
    @teldatamcy5656 4 місяці тому

    Gracias!!!

  • @andysierra5141
    @andysierra5141 2 роки тому

    Muchas gracias profe

  • @luiguimen1
    @luiguimen1 4 роки тому +2

    Para los que estén desarrollando el curso en Netbeans
    deberán colocar el siguiente código el archivo que tienes de config para que no les imprima ${email} o ${nombreEmpresa}
    @Bean
    public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
    return new PropertySourcesPlaceholderConfigurer();
    }
    Exitos a todos y gracias al Profe.

    • @systemfailure2039
      @systemfailure2039 4 роки тому

      Estoy usando netbeans y a mi me funciono a la primera, sin necesidad de copiar ese metodo, que raro...

    • @joseluisguillen3026
      @joseluisguillen3026 4 роки тому

      Muchas gracias, Luis Edurado. Yo estoy utilizando para el curso Spring Tool Suite y gracias a este código me imprime bien el valor de email y nombreEmpresa.

    • @danipakkap8262
      @danipakkap8262 4 роки тому

      @@systemfailure2039 A mí si me funcionó.
      Creo que es porque tenemos distintas versiones de NetBeans y a mí, al crear el archivo "datosEmpresa.propiedades", en vez de creármelo directamente en la carpeta "src", me crea un paquete llamado "" dentro de la carpeta "src".
      Gracias por la ayuda.

  • @franciscoabadnava8089
    @franciscoabadnava8089 4 роки тому

    Buen día, ojalá pronto podamos ver un curso contigo sobre Spring Boot, saludos desde México.

  • @Tego8124
    @Tego8124 5 років тому +5

    Hola profe genial por el curso, profe quería preguntarle si ha pensado dar un curso sobre spring boot ya que ahora en día esta teniendo mucha demanda

    • @pildorasinformaticas
      @pildorasinformaticas  5 років тому +8

      Hola !! Sí, claro que si. Espero verlo incluso en este curso. Un saludo!

  • @me-mq4rz
    @me-mq4rz 5 років тому +1

    Para aquellos que en NetBeans les imprima por pantalla "${email}" en vez del valor real, tiene que poner el siguiente código en la clase donde esté el bean @PropertySource:
    @Bean
    public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() {
    return new PropertySourcesPlaceholderConfigurer();
    }
    Gracias Juan por todo!

    • @luiguimen1
      @luiguimen1 4 роки тому

      Hola, Te comento que no me funciona.
      me imprime tal cual ${email}

    • @luiguimen1
      @luiguimen1 4 роки тому +2

      Busca encontré los siguiente y me funciono:
      el siguiente código de debe colocar tal cual en el archivo que tienes de config
      @Bean
      public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
      return new PropertySourcesPlaceholderConfigurer();
      }

  • @leoturorellana
    @leoturorellana 3 роки тому

    Gracias Juan, como siempre, excelente su explicación, una pregunta, PropertySource es lo mismo que usar el objeto Environment? O existe diferencia?

  • @omarmoralesortega8037
    @omarmoralesortega8037 5 років тому +3

    Profesor, podria como explicar a su momento como subir una imagen a la base de datos por medio de input type=file, igual como lo hizo en el curso de PHP. Muchisimas gracias

    • @pildorasinformaticas
      @pildorasinformaticas  5 років тому +2

      Tomo nota de tu petición. Un saludo!

    • @nowen2104
      @nowen2104 5 років тому +1

      Omar no es recomendable guardar imágenes en la db, es mejor crear un directorio donde se guarde y en la db guardar la ruta donde está guardada. Recuerde que las imágenes son pesadas y esto le saturaría la db. Saludo

    • @superinmortal30
      @superinmortal30 5 років тому +1

      @@nowen2104 Iba a comentar exactamente lo mismo.

  • @Ninfeaceas
    @Ninfeaceas 4 місяці тому

    ¿Y cómo se haría todo esto sin código Java? Me refiero utilizando el archivo XML y con Annotation.

  • @maximilianominetto524
    @maximilianominetto524 5 років тому +1

    Juan muy bueno, me sirve para mejorar mis conocimientos en spring.
    Mira vengo de spring boot te iba a preguntar:
    Ese bean existe porque lo definiste en la interfaz empleado y con la clase del contexto de las anotaciones poniendo de objetivo el director anduvo.
    Es por eso?
    Porque vengo de dar las anotaciones que darás después como service, etc y si pones la anotación en la interfaz a la hora de hacer un autowired no lo encuentra si no lo pones (a la anotación de tipo component) en la implementación.
    Me podés explicar esta duda? Creo que ya me contesto solo

    • @keltzeta6068
      @keltzeta6068 4 роки тому +1

      cuando utilizar el la clase .config no se necesitan de las annotations como @component o @autowired

  • @jesuspp6147
    @jesuspp6147 6 місяців тому

    Estoy en netbeans y me pone que el fichero datosEmpresa.propiedades no existe
    Caused by: java.io.FileNotFoundException: class path resource [datosEmpresa.propiedades] cannot be opened because it does not exist

  • @nowen2104
    @nowen2104 5 років тому +1

    Estas anotaciones las veo más como una forma didáctica porque cuando se utiliza la base de datos no se utilizaría o estoy equivocado?

    • @sergeog2276
      @sergeog2276 5 років тому +4

      En aplicaciones grandes suele utilizarse mucho ese tipo de archivos, por ejemplo, es una buena práctica para establecer las credenciales de conexión a una base de datos en un archivo .properties, Saludos amigo

    • @nowen2104
      @nowen2104 5 років тому

      @@sergeog2276 pero para eso no está el application.yml que es donde se establecen todo ese tipo de propiedades?, ojo aclaro no quiero generar controversia ni nada de esas cosas por que conozco el trabajo de Juan y me imagino que en algún momento va hablar de ese tema y sino lo hace, igual es respetable. Saludos

    • @superinmortal30
      @superinmortal30 5 років тому

      @@nowen2104 Sirve bastante para más adelante cuando se tenga que realizar cualquier tipo de configuración en archivos .yml .properties.

  • @jairramirez6900
    @jairramirez6900 Рік тому

    No puedo correr lo de este video, me aparece el siguiente error
    Aug 24, 2023 5:01:57 PM org.springframework.context.support.AbstractApplicationContext refresh
    WARNING: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [pruebasSpring.EmpleadosConfig]; nested exception is java.io.FileNotFoundException: class path resource [datosEmpresa.propiedades] cannot be opened because it does not exist
    Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [pruebasSpring.EmpleadosConfig]; nested exception is java.io.FileNotFoundException: class path resource [datosEmpresa.propiedades] cannot be opened because it does not exist
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:181)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:315)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:232)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:691)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:528)
    at org.springframework.context.annotation.AnnotationConfigApplicationContext.(AnnotationConfigApplicationContext.java:88)
    at pruebasSpring.UsoAnnotations2.main(UsoAnnotations2.java:15)
    Caused by: java.io.FileNotFoundException: class path resource [datosEmpresa.propiedades] cannot be opened because it does not exist
    at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:180)
    at org.springframework.core.io.support.EncodedResource.getInputStream(EncodedResource.java:159)
    at org.springframework.core.io.support.PropertiesLoaderUtils.fillProperties(PropertiesLoaderUtils.java:99)
    at org.springframework.core.io.support.PropertiesLoaderUtils.fillProperties(PropertiesLoaderUtils.java:73)
    at org.springframework.core.io.support.PropertiesLoaderUtils.loadProperties(PropertiesLoaderUtils.java:59)
    at org.springframework.core.io.support.ResourcePropertySource.(ResourcePropertySource.java:67)
    at org.springframework.core.io.support.DefaultPropertySourceFactory.createPropertySource(DefaultPropertySourceFactory.java:37)
    at org.springframework.context.annotation.ConfigurationClassParser.processPropertySource(ConfigurationClassParser.java:452)
    at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:271)
    at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:242)
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:199)
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:167)
    ... 8 more