BAEL-434 Spring Roo (#1589)

* Code for Dependency Injection Article.

* Added Java based configuration. Downloaded formatter.xml and reformatted
all changed files. Manually changed tab into 4 spaces in XML
configuration files.

* BAEL-434 - Spring Roo project files generated by Spring Roo. No
formatting applied. Added POM, java and resources folders.
This commit is contained in:
iaforek
2017-04-06 01:20:04 +01:00
committed by pedja4
parent 2dfd789a4d
commit ad0cd72dfd
114 changed files with 15965 additions and 52 deletions
@@ -1,31 +1,31 @@
package com.baeldung.constructordi;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.baeldung.constructordi.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("baeldung.xml");
return context.getBean(Car.class);
}
}
package com.baeldung.constructordi;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.baeldung.constructordi.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("constructordi.xml");
return context.getBean(Car.class);
}
}
@@ -1,21 +1,21 @@
package com.baeldung.constructordi.domain;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class Car {
private Engine engine;
private Transmission transmission;
@Autowired
public Car(Engine engine, Transmission transmission) {
this.engine = engine;
this.transmission = transmission;
}
@Override
public String toString() {
return String.format("Engine: %s Transmission: %s", engine, transmission);
}
}
package com.baeldung.constructordi.domain;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class Car {
private Engine engine;
private Transmission transmission;
@Autowired
public Car(Engine engine, Transmission transmission) {
this.engine = engine;
this.transmission = transmission;
}
@Override
public String toString() {
return String.format("Engine: %s Transmission: %s", engine, transmission);
}
}
@@ -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;
}
}
@@ -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);
}
}
@@ -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);
}
}
@@ -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);
}
}
@@ -0,0 +1,11 @@
package com.baeldung.setterdi.domain;
public class Trailer {
public Trailer() {
}
@Override
public String toString() {
return "Trailer";
}
}
@@ -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);
}
}
@@ -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>
@@ -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>