Tuesday 31 July 2018

What is Spring Dependency Injection with static Factory Method? - Playlist

What is Spring DI with a non-static factory method that returns the instance of another class?


Click here to watch on Youtube:
https://www.youtube.com/watch?v=Xzuwdt1wiY8&list=UUhwKlOVR041tngjerWxVccw

Click the below Image to Enlarge:

What is Spring DI with a non-static factory method that returns the instance of another class?

What is Spring DI with a non-static factory method that returns the instance of another class?



What is Spring DI with a non-static factory method that returns the instance of another class?

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.ram.core</groupId>
    <artifactId>SpringDemo</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>SpringDemo</name>
    <url>http://maven.apache.org</url>

    <properties>
        <spring.version>5.0.2.RELEASE</spring.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>

        <!-- Spring 5 dependencies -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
    </dependencies>
</project>

Animal.java

package com.ram.model;

public interface Animal
{
    public abstract void eat();
}

Cow.java

package com.ram.model;

public class Cow implements Animal
{

    public void eat()
    {
        System.out.println("Cow eats grass..");
    }

}

Dog.java

package com.ram.model;

public class Dog implements Animal
{

    public void eat()
    {
        System.out.println("Dog eats chicken bone...");
    }

}

AnimalFactory.java

package com.ram.factory;

import com.ram.model.Animal;
import com.ram.model.Dog;

public class AnimalFactory
{
    public Animal getAnimal()
    {
        return new Dog();// return any one instance, either Dog or Cow
        // return new Cow();
    }
}

applicationContext.xml

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">


    <bean id="animalFactory" class="com.ram.factory.AnimalFactory"></bean>
   
    <bean id="animal" class="com.ram.factory.AnimalFactory"
        factory-method="getAnimal" factory-bean="animalFactory">
    </bean>

</beans>


App.java

package com.ram.core;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.ram.model.Animal;

public class App
{
    public static void main(String[] args)
    {
        ApplicationContext context = new ClassPathXmlApplicationContext(
                "applicationContext.xml");

        System.out.println("---------------------------------------");

        Animal animal = (Animal)context.getBean("animal");
        System.out.println(
                "Got " + animal +" object from the ApplicationContext[Spring Container]");
       
        animal.eat();
    }

}

Output

Jul 06, 2018 9:28:28 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@5b37e0d2: startup date [Fri Jul 06 09:28:28 IST 2018]; root of context hierarchy
Jul 06, 2018 9:28:28 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
---------------------------------------
Got com.ram.model.Dog@3ffc5af1 object from the ApplicationContext[Spring Container]
Dog eats chicken bone...

Click the below link to download the code:
https://sites.google.com/site/ramj2eev2/java_basics/SpringDemo_DI_Non-StaticfactoryMethod_another_class.zip?attredirects=0&d=1

Github Link:
https://github.com/ramram43210/javaee/tree/master/Spring_2018/SpringDemo_DI_Non-StaticfactoryMethod_another_class

Bitbucket Link:
https://bitbucket.org/ramram43210/spring/src/87c44fe2f8e6bec23f023e02860b09f4be9b1bfd/Spring_2018/SpringDemo_DI_Non-StaticfactoryMethod_another_class/?at=master

See also:

  • All JavaEE Videos Playlist
  • All JavaEE Videos
  • All JAVA EE Links
  • Spring Tutorial
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • Kids Tutorial
  • Cooking Tutorial
  • What is Spring DI with a static factory method that returns the instance of another class?


    Click here to watch on Youtube:
    https://www.youtube.com/watch?v=C1KrLW_c0pk&list=UUhwKlOVR041tngjerWxVccw

    Click the below Image to Enlarge:
    What is Spring DI with a static factory method that returns the instance of another class?

    What is Spring DI with a static factory method that returns the instance of another class?

    What is Spring DI with a static factory method that returns the instance of another class?


    pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0%20http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.ram.core</groupId>
        <artifactId>SpringDemo</artifactId>
        <packaging>jar</packaging>
        <version>1.0-SNAPSHOT</version>
        <name>SpringDemo</name>
        <url>http://maven.apache.org</url>

        <properties>
            <spring.version>5.0.2.RELEASE</spring.version>
        </properties>

        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>3.8.1</version>
                <scope>test</scope>
            </dependency>

            <!-- Spring 5 dependencies -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
            </dependency>
        </dependencies>
    </project>

    Animal.java

    package com.ram.model;

    public interface Animal
    {
        public abstract void eat();
    }

    Cow.java

    package com.ram.model;

    public class Cow implements Animal
    {

        public void eat()
        {
            System.out.println("Cow eats grass..");
        }

    }

    Dog.java

    package com.ram.model;

    public class Dog implements Animal
    {

        public void eat()
        {
            System.out.println("Dog eats chicken bone...");
        }

    }

    AnimalFactory.java

    package com.ram.factory;

    import com.ram.model.Animal;
    import com.ram.model.Dog;

    public class AnimalFactory
    {
        public static Animal getAnimal()
        {
            return new Dog();// return any one instance, either Dog or Cow
            // return new Cow();
        }
    }

    applicationContext.xml

    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">


        <bean id="animal" class="com.ram.factory.AnimalFactory"
            factory-method="getAnimal">
        </bean>

    </beans>


    App.java

    package com.ram.core;

    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;

    import com.ram.model.Animal;

    public class App
    {
        public static void main(String[] args)
        {
            ApplicationContext context = new ClassPathXmlApplicationContext(
                    "applicationContext.xml");

            System.out.println("---------------------------------------");

            Animal animal = (Animal)context.getBean("animal");
            System.out.println(
                    "Got " + animal +" object from the ApplicationContext[Spring Container]");
           
            animal.eat();
        }

    }

    Output

    Jul 05, 2018 9:24:36 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
    INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@5b37e0d2: startup date [Thu Jul 05 09:24:36 IST 2018]; root of context hierarchy
    Jul 05, 2018 9:24:36 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
    INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
    ---------------------------------------
    Got com.ram.model.Dog@3ffc5af1 object from the ApplicationContext[Spring Container]
    Dog eats chicken bone...

    Click the below link to download the code:
    https://sites.google.com/site/ramj2eev2/java_basics/SpringDemo_DI_StaticfactoryMethod_another_class.zip?attredirects=0&d=1

    Github Link:
    https://github.com/ramram43210/javaee/tree/master/Spring_2018/SpringDemo_DI_StaticfactoryMethod_another_class

    Bitbucket Link:
    https://bitbucket.org/ramram43210/spring/src/87c44fe2f8e6bec23f023e02860b09f4be9b1bfd/Spring_2018/SpringDemo_DI_StaticfactoryMethod_another_class/?at=master

    See also:

  • All JavaEE Videos Playlist
  • All JavaEE Videos
  • All JAVA EE Links
  • Spring Tutorial
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • Kids Tutorial
  • Cooking Tutorial
  • How to set different calendar fields values using set method of Java.util.calendar class


    Click here to watch on Youtube:
    https://www.youtube.com/watch?v=fIdAgdsbjzQ&list=UUhwKlOVR041tngjerWxVccw

    CalendarDemo.java

    import java.util.Calendar;

    public class CalendarDemo
    {
        public static void main(String[] args)
        {
            Calendar cal = Calendar.getInstance();
            System.out.println("Before Set = " + cal.getTime());

            cal.set(Calendar.HOUR, 10);
            cal.set(Calendar.MINUTE, 29);
            cal.set(Calendar.SECOND, 22);

            System.out.println("After Set  = " + cal.getTime());

            System.out.println("Hour = " + cal.get(Calendar.HOUR));
            System.out.println("Min = " + cal.get(Calendar.MINUTE));
            System.out.println("Sec = " + cal.get(Calendar.SECOND));

        }
    }

    Output

    Before Set = Sun Jul 08 09:01:59 IST 2018
    After Set  = Sun Jul 08 10:29:22 IST 2018
    Hour = 10
    Min = 29
    Sec = 22

    Click the below link to download the code:
    https://sites.google.com/site/ramj2eev2/java_basics/CalendarDemo_set_cal_fields_value.zip?attredirects=0&d=1

    Github Link:
    https://github.com/ramram43210/Java/tree/master/BasicJava_2018/CalendarDemo_set_cal_fields_value

    Bitbucket Link:
    https://bitbucket.org/ramram43210/java/src/b1e669f4abac38a0eb65bfeb213dca88c58230cc/BasicJava_2018/CalendarDemo_set_cal_fields_value/?at=master

    See also:
  • All JavaEE Videos Playlist
  • All JavaEE Videos
  • All JAVA EE Links
  • Spring Tutorial
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • Kids Tutorial
  • Cooking Tutorial
  • How to get different calendar fields values using get method of Java.util.calendar class


    Click here to watch on Youtube:
    https://www.youtube.com/watch?v=VCyFaP4ak9Q&list=UUhwKlOVR041tngjerWxVccw

    CalendarDemo.java

    import java.util.Calendar;

    public class CalendarDemo
    {
        public static void main(String[] args)
        {
            Calendar cal = Calendar.getInstance();
            System.out.println(cal.getTime());
           
            System.out.println("What day of the month = "+cal.get(Calendar.DATE));
           
            System.out.println("What day of the month = "+cal.get(Calendar.DAY_OF_MONTH));
           
            System.out.println("What day of the week = "+cal.get(Calendar.DAY_OF_WEEK));
           
            System.out.println("What week in month = "+cal.get(Calendar.DAY_OF_WEEK_IN_MONTH));
           
            System.out.println("What week in month = "+cal.get(Calendar.WEEK_OF_MONTH));
           
            System.out.println("What day of the year = "+cal.get(Calendar.DAY_OF_YEAR));
           
            System.out.println("What week of the year = "+cal.get(Calendar.WEEK_OF_YEAR));
           
            System.out.println("What hour of the day =  "+cal.get(Calendar.HOUR_OF_DAY));
           
        }
    }

    Output:

    Sun Jul 08 08:50:01 IST 2018
    What day of the month = 8
    What day of the month = 8
    What day of the week = 1
    What week in month = 2
    What week in month = 2
    What day of the year = 189
    What week of the year = 28
    What hour of the day =  8

    Click the below link to download the code:
    https://sites.google.com/site/ramj2eev2/java_basics/CalendarDemo_get_cal_fields_value.zip?attredirects=0&d=1

    Github Link:
    https://github.com/ramram43210/Java/tree/master/BasicJava_2018/CalendarDemo_get_cal_fields_value

    Bitbucket Link:
    https://bitbucket.org/ramram43210/java/src/b1e669f4abac38a0eb65bfeb213dca88c58230cc/BasicJava_2018/CalendarDemo_get_cal_fields_value/?at=master

    See also:
  • All JavaEE Videos Playlist
  • All JavaEE Videos
  • All JAVA EE Links
  • Spring Tutorial
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • Kids Tutorial
  • Cooking Tutorial
  • How to get current month and day using Java.util.calendar class


    Click here to watch on Youtube: 
    https://www.youtube.com/watch?v=5nMojKZe4Iw&list=UUhwKlOVR041tngjerWxVccw

    CalendarDemo1.java

    import java.util.Calendar;

    public class CalendarDemo1
    {
        public static void main(String[] args)
        {
            Calendar cal = Calendar.getInstance();
            System.out.println(cal.getTime());
           
            int month = cal.get(Calendar.MONTH);
            if (month == Calendar.JANUARY)
            {
                System.out.println("JANUARY");
            }
            if (month == Calendar.FEBRUARY)
            {
                System.out.println("FEBRUARY");
            }
            if (month == Calendar.MARCH)
            {
                System.out.println("MARCH");
            }
            if (month == Calendar.APRIL)
            {
                System.out.println("APRIL");
            }
            if (month == Calendar.MAY)
            {
                System.out.println("MAY");
            }
            if (month == Calendar.JUNE)
            {
                System.out.println("JUNE");
            }
            if (month == Calendar.JULY)
            {
                System.out.println("JULY");
            }
            if (month == Calendar.AUGUST)
            {
                System.out.println("AUGUST");
            }
            if (month == Calendar.SEPTEMBER)
            {
                System.out.println("SEPTEMBER");
            }
            if (month == Calendar.OCTOBER)
            {
                System.out.println("OCTOBER");
            }
            if (month == Calendar.NOVEMBER)
            {
                System.out.println("NOVEMBER");
            }
            if (month == Calendar.DECEMBER)
            {
                System.out.println("DECEMBER");
            }
        }
    }

    Output

    Sat Jul 07 09:18:04 IST 2018
    JULY

    CalendarDemo2.java

    import java.util.Calendar;

    public class CalendarDemo2
    {
        public static void main(String[] args)
        {
            Calendar cal = Calendar.getInstance();
            System.out.println(cal.getTime());

            int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
            if (Calendar.SUNDAY == dayOfWeek)
            {
                System.out.println("SUNDAY");
            }
            if (Calendar.MONDAY == dayOfWeek)
            {
                System.out.println("MONDAY");
            }
            if (Calendar.TUESDAY == dayOfWeek)
            {
                System.out.println("TUESDAY");
            }
            if (Calendar.WEDNESDAY == dayOfWeek)
            {
                System.out.println("WEDNESDAY");
            }
            if (Calendar.THURSDAY == dayOfWeek)
            {
                System.out.println("THURSDAY");
            }
            if (Calendar.FRIDAY == dayOfWeek)
            {
                System.out.println("FRIDAY");
            }
            if (Calendar.SATURDAY == dayOfWeek)
            {
                System.out.println("SATURDAY");
            }
        }

    }

    Output

    Sat Jul 07 09:18:11 IST 2018
    SATURDAY

    Click the below link to download the code:
    https://sites.google.com/site/ramj2eev2/java_basics/CalendarDemo_display_month_dayofweek.zip?attredirects=0&d=1

    Github Link:
    https://github.com/ramram43210/Java/tree/master/BasicJava_2018/CalendarDemo_display_month_dayofweek

    Bitbucket Link:
    https://bitbucket.org/ramram43210/java/src/b1e669f4abac38a0eb65bfeb213dca88c58230cc/BasicJava_2018/CalendarDemo_display_month_dayofweek/?at=master

    See also:
  • All JavaEE Videos Playlist
  • All JavaEE Videos
  • All JAVA EE Links
  • Spring Tutorial
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • Kids Tutorial
  • Cooking Tutorial