Contoh Spring Framework Depedency Injection

Spring

Depedency Injection(DI) adalah fitur yang dibawah oleh spring, nah di tutorial ini kita akan membuat contoh project DI sederhana.

Biar lebih mudah dipahami di bawah ini gambar dimana kita akan membuat 2 buah class yang salah satunya akan di panggil / di inject.

Depedency Injection

Gambar : Depedency Injection

Di tutorial in, kita hanya menyambung project sebelumnya.

Class Model

File : Hello.java

package com.timposu;

public class Hello {

	private String message;

	public String getmessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}

}

Class diatas akan di inject dengan class di bawah ini

File : DataHello.java

package com.timposu.belajarspring.model;

public class DataHello {

	private Hello hello; //memanggil class Hello

	public DataHello(Hello hello) {
		super();
		this.hello = hello;
	}

	public Hello getHello() {
		return hello;
	}

	public void setHello(Hello hello) {
		this.hello = hello;
	}

}

Spring Java Config Hello World

Tambahkan Bean DataHello

package com.timposu;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class AppConfig {

	@Bean
	public Hello createHello(){
		Hello hello = new Hello();
		hello.setName("Ucup Timposu");
		return hello;
	}

	@Bean
	public DataHello hello(Hello hello) {
		DataHello dataHello = new DataHello(hello);
		return dataHello;
	}
}

Pada method hello parameternya akan diinject oleh spring secara otomatis. Spring akan mencari bean yang sesuai dengan tipe parameternya.

Main Class

Panggil class Configuration dengan AnnotationConfigApplicationContext

File App.java

package com.timposu;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/*
 * Hello world!
 *
 */
public class App
{
    public static void main( String[] args )
    {
        ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);

        DataHello dataHello = context.getBean(DataHello.class);
        System.out.println(dataHello.getHello().getMessage());
    }
}

Run

Halo Ucup Timposu

DONE.

Download

Download Download : BelajarSpringDI.zip

Video


Related Post