Added Java based configuration. Downloaded formatter.xml and reformatted

all changed files. Manually changed tab into 4 spaces in XML
configuration files.
This commit is contained in:
iaforek 2017-03-14 16:00:38 +00:00
parent 9e00c1cdff
commit 112fa1290f
8 changed files with 196 additions and 0 deletions

View File

@ -0,0 +1,35 @@
package com.baeldung.setterdi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import com.baeldung.setterdi.domain.Engine;
import com.baeldung.setterdi.domain.Trailer;
import com.baeldung.setterdi.domain.Transmission;
@Configuration
@ComponentScan("com.baeldung.setterdi")
public class Config {
@Bean
public Engine engine() {
Engine engine = new Engine();
engine.setType("v8");
engine.setVolume(5);
return engine;
}
@Bean
public Transmission transmission() {
Transmission transmission = new Transmission();
transmission.setType("sliding");
return transmission;
}
@Bean
public Trailer trailer() {
Trailer trailer = new Trailer();
return trailer;
}
}

View File

@ -0,0 +1,33 @@
package com.baeldung.setterdi;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.baeldung.setterdi.Config;
import com.baeldung.setterdi.domain.Car;
public class SpringRunner {
public static void main(String[] args) {
Car toyota = getCarFromXml();
System.out.println(toyota);
toyota = getCarFromJavaConfig();
System.out.println(toyota);
}
private static Car getCarFromJavaConfig() {
ApplicationContext context = new AnnotationConfigApplicationContext(Config.class);
return context.getBean(Car.class);
}
private static Car getCarFromXml() {
ApplicationContext context = new ClassPathXmlApplicationContext("setterdi.xml");
return context.getBean(Car.class);
}
}

View File

@ -0,0 +1,34 @@
package com.baeldung.setterdi.domain;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class Car {
private Engine engine;
private Transmission transmission;
private Trailer trailer;
public Car() {
}
@Autowired
public void setEngine(Engine engine) {
this.engine = engine;
}
@Autowired
public void setTransmission(Transmission transmission) {
this.transmission = transmission;
}
@Autowired
public void setTrailer(Trailer trailer) {
this.trailer = trailer;
}
@Override
public String toString() {
return String.format("Engine: %s Transmission: %s Trailer: %s", engine, transmission, trailer);
}
}

View File

@ -0,0 +1,22 @@
package com.baeldung.setterdi.domain;
public class Engine {
private String type;
private int volume;
public Engine() {
}
public void setType(String type) {
this.type = type;
}
public void setVolume(int volume) {
this.volume = volume;
}
@Override
public String toString() {
return String.format("%s %d", type, volume);
}
}

View File

@ -0,0 +1,11 @@
package com.baeldung.setterdi.domain;
public class Trailer {
public Trailer() {
}
@Override
public String toString() {
return "Trailer";
}
}

View File

@ -0,0 +1,17 @@
package com.baeldung.setterdi.domain;
public class Transmission {
private String type;
public Transmission() {
}
public void setType(String type) {
this.type = type;
}
@Override
public String toString() {
return String.format("%s", type);
}
}

View File

@ -0,0 +1,20 @@
<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-3.0.xsd">
<bean id="toyota" class="com.baeldung.constructordi.domain.Car">
<constructor-arg index="0" ref="engine" />
<constructor-arg index="1" ref="transmission" />
</bean>
<bean id="engine" class="com.baeldung.constructordi.domain.Engine">
<constructor-arg index="0" value="v4" />
<constructor-arg index="1" value="2" />
</bean>
<bean id="transmission" class="com.baeldung.constructordi.domain.Transmission">
<constructor-arg value="sliding" />
</bean>
</beans>

View File

@ -0,0 +1,24 @@
<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-3.0.xsd">
<bean id="toyota" class="com.baeldung.setterdi.domain.Car">
<property name="engine" ref="engine" />
<property name="transmission" ref="transmission" />
<property name="trailer" ref="trailer" />
</bean>
<bean id="engine" class="com.baeldung.setterdi.domain.Engine">
<property name="type" value="v4" />
<property name="volume" value="2" />
</bean>
<bean id="transmission" class="com.baeldung.setterdi.domain.Transmission">
<property name="type" value="sliding" />
</bean>
<bean id="trailer" class="com.baeldung.setterdi.domain.Trailer">
</bean>
</beans>