Assignment 4 Debi
Assignment 4 Debi
CreditCard.java
package com.A4Q1;
PayPal.java
package com.A4Q1;
public class PayPal implements PaymentMethod{
@Override
public void processPayment(double amount){
System.out.println("Payment processed with PayPal. Amount: "+amount);
}
}
ShoppingCart.java
package com.A4Q1;
public class ShoppingCart {
PaymentMethod paymentMethod;
public ShoppingCart(PaymentMethod paymentMethod){
this.paymentMethod=paymentMethod;
}
App.java
package com.A4Q1;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@SpringBootApplication
public class App {
public static void main(String[] args) {
ApplicationContext context = new
ClassPathXmlApplicationContext("bean3.xml");
ShoppingCart sc = (ShoppingCart) context.getBean("ShoppingCart");
sc.checkOut(500.00);
}
}
OUTPUT:
CODE:
EmailService.java
package com.A4Q2;
SMSService.java
package com.A4Q2;
NotificationService.java
package com.A4Q2;
App.java
package com.A4Q2;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@SpringBootApplication
public class App {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("bean4.xml");
NotificationService ns=(NotificationService) context.getBean("NotificationService");
ns.notifyByMail("Hey, This is an Email.");
ns.notifyBySMS("Hey, This is a SMS.");
}
}
OUTPUT:
CODE:
UserRepository.java
package com.A4Q3;
import org.springframework.stereotype.Repository;
@Repository
public class UserRepository {
void saverUser(){
System.out.println("User data saved");
}
}
UserService.java
package com.A4Q3;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
UserRepository userRepository;
@Autowired
public void setUserRepository(UserRepository userRepository){
this.userRepository=userRepository;
}
void registerUser(){
System.out.println("User registered");
}
}
AppConfig.java
package com.A4Q3;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan(basePackages = "com.A4Q3")
public class AppConfig {
}
App.java
package com.A4Q3;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
CODE:
GreetingService.java
package com.A4Q4;
GreetingServiceImplement.java
package com.A4Q4;
import org.springframework.stereotype.Service;
@Service
public class GreetingServiceImplement implements GreetingService{
@Override
public void greet() {
System.out.println("Hello, welcome to Spring with <context:component-scan>!");
}
}
bean,xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
App.java
package com.A4Q4;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
OUTPUT:
5. Write POJO Java program to convert tightly coupled code into loosely
coupled code
a. Create a parent class A with a method display(). Create another
class B that inherits class A and contains a method display().
Create a main class to call the display method.
b. Create a class LightBulb with a method SwitchOn(). Create
another class Switch that has an object of the LightBulb class
and another method Operate(). Inside the Operate() method
call the SwitchOn() method
CODE:
Displayable.java
package com.A4Q5A;
B.java
package com.A4Q5A;
App.java
package com.A4Q5A;
displayA.display();
displayB.display();
}
}
OUTPUT:
Switchable.java
package com.A4Q5B;
LightBulb.java
package com.A4Q5B;
Switch.java
package com.A4Q5B;
App.java
package com.A4Q5B;
lightSwitch.operate();
}
}
OUTPUT:
6. Write a simple SpringBoot Project and add the Spring Web and
Spring Boot Dev Tools dependencies. Execute the application.
Code:
HelloSpring.java
package com.A4Q6;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloSpring {
@GetMapping("/hello")
public String message(){
return "Hello Spring Devs";
}
}
App.java
package com.A4Q6;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
OUTPUT:
CODE:
Employee.java
package com.A4Q7;
@Override
public String toString() {
return "Employee{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
EmployeeController.java
package com.A4Q7;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class EmployeeController {
@GetMapping("/employee")
public String getEmployee() {
Employee employee = new Employee("XYZ", 25);
return employee.toString();
}
}
OUTPUT:
Answer:
Answer: