Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions spring-core/src/main/java/com/baeldung/injectiontypes/Config.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.baeldung.injectiontypes;

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

@Configuration
@ComponentScan("com.baeldung.injectiontypes")
public class Config {
@Bean
public Hospital hospital() {
return new Hospital();
}
}
18 changes: 18 additions & 0 deletions spring-core/src/main/java/com/baeldung/injectiontypes/Doctor.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package com.baeldung.injectiontypes;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class Doctor {
private Hospital hospital;

@Autowired
public Doctor(Hospital hospital) {
this.hospital = hospital;
}

public Hospital getHospital() {
return hospital;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.baeldung.injectiontypes;

public class Hospital {
//TODO
}
22 changes: 22 additions & 0 deletions spring-core/src/main/java/com/baeldung/injectiontypes/Nurse.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.baeldung.injectiontypes;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class Nurse {
private Hospital hospital;

public Nurse() {
//TODO
}

public Hospital getHospital() {
return hospital;
}

@Autowired
public void setHospital(Hospital hospital) {
this.hospital = hospital;
}
}
18 changes: 18 additions & 0 deletions spring-core/src/main/java/com/baeldung/injectiontypes/Surgeon.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package com.baeldung.injectiontypes;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class Surgeon {
@Autowired
private Hospital hospital;

public Surgeon() {
//TODO
}

public Hospital getHospital() {
return hospital;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package com.baeldung.injectiontypes;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;

import static org.junit.Assert.assertNotNull;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(
loader = AnnotationConfigContextLoader.class,
classes = Config.class)
public class DoctorTest {
@Autowired
private Doctor doctor;

@Test
public void givenDoctor_whenInitialised_thenHospitalSet() throws Exception {
assertNotNull(doctor.getHospital());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package com.baeldung.injectiontypes;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;

import static org.junit.Assert.*;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(
loader = AnnotationConfigContextLoader.class,
classes = Config.class)
public class NurseTest {
@Autowired
private Nurse nurse;

@Test
public void givenNurse_whenInitialised_thenHospitalSet() throws Exception {
assertNotNull(nurse.getHospital());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package com.baeldung.injectiontypes;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.support.AnnotationConfigContextLoader;

import static org.junit.Assert.*;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(
loader = AnnotationConfigContextLoader.class,
classes = Config.class)
public class SurgeonTest {
@Autowired
private Surgeon surgeon;

@Test
public void givenSurgeon_whenInitialised_thenHospitalSet() throws Exception {
assertNotNull(surgeon.getHospital());
}
}