Minggu, 11 Desember 2016

Java Spring Injection



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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.tobuku</groupId>
  <artifactId>SpringInjection</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>SpringInjection</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <spring.version>4.2.0.RELEASE</spring.version>
  </properties>

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

 <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>3.0.4.RELEASE</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>3.0.4.RELEASE</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>3.0.4.RELEASE</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>3.0.4.RELEASE</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<!-- get all project dependencies -->
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<!-- MainClass in mainfest make a executable jar -->
<archive>
<manifest>
<mainClass>com.tobuku.common.App</mainClass>
</manifest>
</archive>

</configuration>
<executions>
<execution>
<id>make-assembly</id>
<!-- bind to the packaging phase -->
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>



Beans.xml
<?xml version="1.0" encoding="UTF-8"?>

<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.2.xsd">

   <bean id="TheMercedes" class="com.tobuku.impl.Car">
<constructor-arg type="java.lang.String">
<value>Mercedes-Benz</value>
</constructor-arg>

<constructor-arg type="java.lang.String">
<value>S-Class S550 4MATIC</value>
</constructor-arg>

<constructor-arg type="java.lang.String">
<value>4.7L V8 Twin Turbocharger</value>
</constructor-arg>

<constructor-arg type="java.lang.String">
<value>Automatic 7-Speed</value>
</constructor-arg>

<constructor-arg type="java.lang.String">
<value>Gasoline</value>
</constructor-arg>

<property name="propertiku" value="Mercedes: My human spirit is moving to the future..."/>
   </bean>
 
   <bean id="TheBmw" class="com.tobuku.impl.Car">
<constructor-arg type="java.lang.String">
<value>BMW</value>
</constructor-arg>

<constructor-arg type="java.lang.String">
<value>7 Series 740Li</value>
</constructor-arg>

<constructor-arg type="java.lang.String">
<value>3.0L I6</value>
</constructor-arg>

<constructor-arg type="java.lang.String">
<value>Automatic 8-Speed</value>
</constructor-arg>

<constructor-arg type="java.lang.String">
<value>Gasoline</value>
</constructor-arg>

<property name="propertiku" value="BMW: I am moving with pleasure. What an ultimate experience..."/>
   </bean>

</beans>



App.java
package com.tobuku.common;

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

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

     Vehicle carMercy = (Vehicle) context.getBean("TheMercedes");
     Vehicle carBmw = (Vehicle) context.getBean("TheBmw");

     System.out.println("OPM="+carMercy);
     carMercy.move();
     System.out.println("--------------------------------------------");
     System.out.println("OPB="+carBmw);
     carBmw.move();
    }
}



Vehicle.java

package com.tobuku.common;

public interface Vehicle {
void move();
}


Car.java
package com.tobuku.impl;

import com.tobuku.common.Vehicle;

public class Car implements Vehicle {
private String brand;
private String type;
private String engine;
private String transmission;
private String fuel;
private String motion;
public Car() {
brand = "";
type = "";
engine = "";
transmission = "";
fuel = "";
}
public Car(String brand, String type, String engine, String transmission, String fuel) {
this.brand = brand;
this.type = type;
this.engine = engine;
this.transmission = transmission;
this.fuel = fuel;
}

public String getBrand() {
return brand;
}

public void setBrand(String brand) {
this.brand = brand;
}

public String getType() {
return type;
}

public void setType(String type) {
this.type = type;
}

public String getEngine() {
return engine;
}

public void setEngine(String engine) {
this.engine = engine;
}

public String getTransmission() {
return transmission;
}

public void setTransmission(String transmission) {
this.transmission = transmission;
}

public String getFuel() {
return fuel;
}

public void setFuel(String fuel) {
this.fuel = fuel;
}
public String getPropertiku() {
return motion;
}

public void setPropertiku(String motion) {
this.motion = motion;
}

@Override
public String toString() {
return "Car [brand=" + brand + 
"; type=" + type + 
"; engine=" + engine + 
"; transmission=" + transmission + 
"; fuel=" + fuel + "]";
}

public void move() {
System.out.println(motion);

}

Lokasi File:


 Directory of D:\J2EE\doc\SpringInjection

12/12/2016  10:19 AM    <DIR>          .
12/12/2016  10:19 AM    <DIR>          ..
12/12/2016  10:20 AM             1,224 .classpath
08/20/2015  12:09 PM               567 .project
12/12/2016  10:19 AM    <DIR>          .settings
12/12/2016  10:22 AM             2,421 pom.xml
12/12/2016  10:19 AM    <DIR>          src
12/12/2016  10:19 AM    <DIR>          target
               3 File(s)          4,212 bytes

 Directory of D:\J2EE\doc\SpringInjection\.settings

12/12/2016  10:19 AM    <DIR>          .
12/12/2016  10:19 AM    <DIR>          ..
12/12/2016  10:20 AM               155 org.eclipse.core.resources.prefs
08/20/2015  12:09 PM               243 org.eclipse.jdt.core.prefs
08/20/2015  12:09 PM                90 org.eclipse.m2e.core.prefs
               3 File(s)            488 bytes

 Directory of D:\J2EE\doc\SpringInjection\src

12/12/2016  10:19 AM    <DIR>          .
12/12/2016  10:19 AM    <DIR>          ..
12/12/2016  10:19 AM    <DIR>          main
12/12/2016  10:19 AM    <DIR>          test
               0 File(s)              0 bytes

 Directory of D:\J2EE\doc\SpringInjection\src\main

12/12/2016  10:19 AM    <DIR>          .
12/12/2016  10:19 AM    <DIR>          ..
12/12/2016  10:19 AM    <DIR>          java
12/12/2016  10:19 AM    <DIR>          resources
               0 File(s)              0 bytes

 Directory of D:\J2EE\doc\SpringInjection\src\main\java

12/12/2016  10:19 AM    <DIR>          .
12/12/2016  10:19 AM    <DIR>          ..
12/12/2016  10:19 AM    <DIR>          com
               0 File(s)              0 bytes

 Directory of D:\J2EE\doc\SpringInjection\src\main\java\com

12/12/2016  10:19 AM    <DIR>          .
12/12/2016  10:19 AM    <DIR>          ..
12/12/2016  10:19 AM    <DIR>          tobuku
               0 File(s)              0 bytes

 Directory of D:\J2EE\doc\SpringInjection\src\main\java\com\tobuku

12/12/2016  10:19 AM    <DIR>          .
12/12/2016  10:19 AM    <DIR>          ..
12/12/2016  10:19 AM    <DIR>          common
12/12/2016  10:19 AM    <DIR>          impl
               0 File(s)              0 bytes

 Directory of D:\J2EE\doc\SpringInjection\src\main\java\com\tobuku\common

12/12/2016  10:19 AM    <DIR>          .
12/12/2016  10:19 AM    <DIR>          ..
12/12/2016  10:26 AM               661 App.java
08/20/2015  12:35 PM                76 Vehicle.java
               2 File(s)            737 bytes

 Directory of D:\J2EE\doc\SpringInjection\src\main\java\com\tobuku\impl

12/12/2016  10:19 AM    <DIR>          .
12/12/2016  10:19 AM    <DIR>          ..
12/12/2016  11:13 AM             1,636 Car.java
               1 File(s)          1,636 bytes

 Directory of D:\J2EE\doc\SpringInjection\src\main\resources

12/12/2016  10:19 AM    <DIR>          .
12/12/2016  10:19 AM    <DIR>          ..
12/12/2016  10:30 AM             1,689 Beans.xml
               1 File(s)          1,689 bytes

 Directory of D:\J2EE\doc\SpringInjection\src\test

12/12/2016  10:19 AM    <DIR>          .
12/12/2016  10:19 AM    <DIR>          ..
12/12/2016  10:19 AM    <DIR>          java
               0 File(s)              0 bytes

 Directory of D:\J2EE\doc\SpringInjection\src\test\java

12/12/2016  10:19 AM    <DIR>          .
12/12/2016  10:19 AM    <DIR>          ..
12/12/2016  10:19 AM    <DIR>          com
               0 File(s)              0 bytes

 Directory of D:\J2EE\doc\SpringInjection\src\test\java\com

12/12/2016  10:19 AM    <DIR>          .
12/12/2016  10:19 AM    <DIR>          ..
12/12/2016  10:19 AM    <DIR>          tobuku
               0 File(s)              0 bytes

 Directory of D:\J2EE\doc\SpringInjection\src\test\java\com\tobuku

12/12/2016  10:19 AM    <DIR>          .
12/12/2016  10:19 AM    <DIR>          ..
12/12/2016  10:19 AM    <DIR>          common
               0 File(s)              0 bytes

 Directory of D:\J2EE\doc\SpringInjection\src\test\java\com\tobuku\common

12/12/2016  10:19 AM    <DIR>          .
12/12/2016  10:19 AM    <DIR>          ..
08/20/2015  12:09 PM               645 AppTest.java
               1 File(s)            645 bytes

 Directory of D:\J2EE\doc\SpringInjection\target

12/12/2016  10:19 AM    <DIR>          .
12/12/2016  10:19 AM    <DIR>          ..
12/12/2016  10:22 AM    <DIR>          classes
12/12/2016  10:22 AM    <DIR>          test-classes
               0 File(s)              0 bytes

 Directory of D:\J2EE\doc\SpringInjection\target\classes

12/12/2016  10:22 AM    <DIR>          .
12/12/2016  10:22 AM    <DIR>          ..
12/12/2016  10:31 AM             1,689 Beans.xml
12/12/2016  10:22 AM    <DIR>          com
12/12/2016  10:22 AM    <DIR>          META-INF
               1 File(s)          1,689 bytes

 Directory of D:\J2EE\doc\SpringInjection\target\classes\com

12/12/2016  10:22 AM    <DIR>          .
12/12/2016  10:22 AM    <DIR>          ..
12/12/2016  10:22 AM    <DIR>          tobuku
               0 File(s)              0 bytes

 Directory of D:\J2EE\doc\SpringInjection\target\classes\com\tobuku

12/12/2016  10:22 AM    <DIR>          .
12/12/2016  10:22 AM    <DIR>          ..
12/12/2016  10:22 AM    <DIR>          common
12/12/2016  10:22 AM    <DIR>          impl
               0 File(s)              0 bytes

 Directory of D:\J2EE\doc\SpringInjection\target\classes\com\tobuku\common

12/12/2016  10:22 AM    <DIR>          .
12/12/2016  10:22 AM    <DIR>          ..
12/12/2016  10:26 AM             1,292 App.class
12/12/2016  10:22 AM               134 Vehicle.class
               2 File(s)          1,426 bytes

 Directory of D:\J2EE\doc\SpringInjection\target\classes\com\tobuku\impl

12/12/2016  10:22 AM    <DIR>          .
12/12/2016  10:22 AM    <DIR>          ..
12/12/2016  11:13 AM             2,371 Car.class
               1 File(s)          2,371 bytes

 Directory of D:\J2EE\doc\SpringInjection\target\classes\META-INF

12/12/2016  10:22 AM    <DIR>          .
12/12/2016  10:22 AM    <DIR>          ..
12/12/2016  10:22 AM               107 MANIFEST.MF
12/12/2016  10:22 AM    <DIR>          maven
               1 File(s)            107 bytes

 Directory of D:\J2EE\doc\SpringInjection\target\classes\META-INF\maven

12/12/2016  10:22 AM    <DIR>          .
12/12/2016  10:22 AM    <DIR>          ..
12/12/2016  10:22 AM    <DIR>          com.tobuku
               0 File(s)              0 bytes

 Directory of D:\J2EE\doc\SpringInjection\target\classes\META-INF\maven\com.tobuku

12/12/2016  10:22 AM    <DIR>          .
12/12/2016  10:22 AM    <DIR>          ..
12/12/2016  10:22 AM    <DIR>          SpringInjection
               0 File(s)              0 bytes

 Directory of D:\J2EE\doc\SpringInjection\target\classes\META-INF\maven\com.tobuku\SpringInjection

12/12/2016  10:22 AM    <DIR>          .
12/12/2016  10:22 AM    <DIR>          ..
12/12/2016  10:22 AM               234 pom.properties
12/12/2016  10:22 AM             2,421 pom.xml
               2 File(s)          2,655 bytes

 Directory of D:\J2EE\doc\SpringInjection\target\test-classes

12/12/2016  10:22 AM    <DIR>          .
12/12/2016  10:22 AM    <DIR>          ..
12/12/2016  10:22 AM    <DIR>          com
               0 File(s)              0 bytes

 Directory of D:\J2EE\doc\SpringInjection\target\test-classes\com

12/12/2016  10:22 AM    <DIR>          .
12/12/2016  10:22 AM    <DIR>          ..
12/12/2016  10:22 AM    <DIR>          tobuku
               0 File(s)              0 bytes

 Directory of D:\J2EE\doc\SpringInjection\target\test-classes\com\tobuku

12/12/2016  10:22 AM    <DIR>          .
12/12/2016  10:22 AM    <DIR>          ..
12/12/2016  10:22 AM    <DIR>          common
               0 File(s)              0 bytes

 Directory of D:\J2EE\doc\SpringInjection\target\test-classes\com\tobuku\common

12/12/2016  10:22 AM    <DIR>          .
12/12/2016  10:22 AM    <DIR>          ..
12/12/2016  10:22 AM               621 AppTest.class
               1 File(s)            621 bytes

     Total Files Listed:
              19 File(s)         18,276 bytes
              86 Dir(s)  172,387,880,960 bytes free


















Hello World Java Spring


Setting Properties:


Sedang Path:
C:\Program Files\apache-maven-3.3.9\bin




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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.tobuku.common</groupId>
<artifactId>SpringHelloworld</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>SpringHelloworld</name>
<url>http://maven.apache.org</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>4.2.0.RELEASE</spring.version>
</properties>

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

 <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>3.0.4.RELEASE</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>3.0.4.RELEASE</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>3.0.4.RELEASE</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>3.0.4.RELEASE</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<!-- get all project dependencies -->
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<!-- MainClass in mainfest make a executable jar -->
<archive>
<manifest>
<mainClass>com.tobuku.common.App</mainClass>
</manifest>
</archive>

</configuration>
<executions>
<execution>
<id>make-assembly</id>
<!-- bind to the packaging phase -->
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

pada src/main/resources/Beans.xml

<?xml version="1.0" encoding="UTF-8"?>

<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.2.xsd">

   <bean id="var1" class="com.tobuku.common.HelloWorld">
       <property name="lp2maray" value="Belajar Spring + Maven MVC"/>
   </bean>

</beans>


App.java
package com.tobuku.common;


import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
 * Hello world! lp2maray.com
 *
 */
public class App 
{
private static ApplicationContext context;

public static void main(String[] args) {
     context = new ClassPathXmlApplicationContext("Beans.xml");
     Hello obj = (Hello) context.getBean("var1");
     obj.bakso();
  }
}


Hello.java
package com.tobuku.common;

public interface Hello {
public void bakso();
}




HelloWorld.java
package com.tobuku.common;

public class HelloWorld implements Hello{
private String kecap;

public void setLp2maray(String saos) {
this.kecap = saos;
}

public String getLp2maray() {
return kecap;
}
public void bakso() {
System.out.println("Pesan Anda : " + kecap);
}
}

=======================