package com.ah.di;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test { public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("beans_di.xml"); Car car = context.getBean("car",Car.class); car.checkCarEngine(); }
}
package com.ah.di;
public class Car { private Engine engine;
public void setEngine(Engine engine) { this.engine = engine; } public void checkCarEngine(){ if(engine!=null){ engine.testEngine(); }else{
System.out.println("Engine is dead"); }
}
}
package com.ah.di;
public class Engine { public void testEngine(){
System.out.println("engine is working" ); }
}
public class Test { public static void main(String[] args) {
/* Engine engine = new Engine(); Car car = new Car(engine); car.callEngine();*/
/* Car car = new Car(new Engine()); car.callEngine();*/
ApplicationContext context = new ClassPathXmlApplicationContext("beans_di.xml"); Car carObj1 = context.getBean("car1",Car.class); carObj1.callEngine();
Car carObj2 = context.getBean("car2",Car.class); carObj2.callEngine(); } }
package com.ah.di;
public class Engine { public Engine() {
System.out.println("Engine constructor."); } public void engineInfo(){
System.out.println("engineInfo method of Engine class called."); }
}
package com.ah.di;
public class Car { private Engine engine;
public Car(Engine engine) { this.engine = engine; } public void callEngine(){ if(engine==null){
System.out.println("Engine is dead"); }else{
System.out.println("Engine is working"); engine.engineInfo(); }
}
}
Sample Program for Dependency Injection without using 'Spring Framework'
package com.ah.di.setterdemo; public class Test { public static void main(String[] args) { Car car = new Car(); car.setCarName("Ford"); car.displayCarInfo(); } }
package com.ah.di.setterdemo; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("beans_di_setter.xml"); Car carObj = context.getBean("car", Car.class); carObj.displayCarInfo(); } }
package com.ah.di.setterdemo; public class Car {
private String carName; private int mileage; public void setMileage(int mileage) { this.mileage = mileage; }
public void setCarName(String carName) { this.carName = carName; }
public void displayCarInfo(){ System.out.println("Displaying car information"+ "\n car name : "+carName+ "\n mileage : "+mileage); } }
package com.ah.ioc; public interface Mobile { public void display(); }
package com.ah.ioc; public class SamsungMobile implements Mobile{ public SamsungMobile(){ System.out.println("Constructor of SamsungMobile class"); }
public void display(){ System.out.println("display() method in SamsungMobile class"); } }
package com.ah.ioc; public class NokiaMobile implements Mobile{ public NokiaMobile(){ System.out.println("Constructor of NokiaMobile class"); }
public void display(){ System.out.println("display() method in NokiaMobile class"); } }
package com.ah.ioc; public class ABCMobile implements Mobile{ public ABCMobile(){ System.out.println("Constructor of ABCMobile class"); }
public void display(){ System.out.println("display() method in ABCMobile class"); } }
package com.ah.ioc; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test { public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("beans_ioc.xml"); Mobile mobile = context.getBean("mobile", Mobile.class); mobile.display(); } }
Note:Will start with Spring core/basic annotations and move towards Spring Boot topic in upcoming demos - Prerequisite: Basic knowledge on Java programming language - Intended for Absolute begineers of Spring/Spring Boot Framework.
if (connection.getResponseCode() != 200) { throw new RuntimeException("Failed with HTTP error code : " + connection.getResponseCode()); }
String responseXml; System.out.println("Response xml from Server .... \n"); BufferedReader bufferReader = new BufferedReader(new InputStreamReader(connection.getInputStream())); responseXml = bufferReader.lines().collect(Collectors.joining("\n")); System.out.println(responseXml); connection.disconnect(); } catch (Exception e) { e.printStackTrace();
} }
}
Troubleshooting :
If you are executing above program using maven(i.e. pom.xml) then add below maven-compiler-plugin Reference:https://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
Reading the text content(xml/json) from 'InputStreamReader' using 'while' loop. Sample Program:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;