I am a programmer but I hate grammar. Here you will find what I did, doing , will do ... Scattered pieces of knowledge that I have deleted from my mind to the trash bin through out my boring daily coding life. I will also report some of my failures in life so dear to me not success, because I have always learnt much only when I fail.
Saturday, May 25, 2019
13 – Spring boot : connecting to MongoDB
Spring boot connection to mongoDB
application.properties
#mongodb spring.data.mongodb.host=localhost spring.data.mongodb.port=27017 spring.data.mongodb.database=mongotuto #logging logging.level.org.springframework.data=debug logging.level.=error
POM.xml
4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.4.RELEASE com.example SpringBootMongoDB03 0.0.1-SNAPSHOT SpringBootMongoDB03 Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-data-mongodb org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools runtime org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
Application Main class
package com.example.discovery; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringBootMongoDb03Application { public static void main(String[] args) { SpringApplication.run(SpringBootMongoDb03Application.class, args); } }
Entity Car
package com.example.discovery; import org.bson.types.ObjectId; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; @Document(collection = "Car") public class Car { @Id public ObjectId _id; public String brand; public String name; public String color; public Car(ObjectId _id, String name, String brand, String color) { this._id = _id; this.name = name; this.brand = brand; this.color = color; } public ObjectId get_id() { return _id; } public void set_id(ObjectId _id) { this._id = _id; } public String getbrand() { return brand; } public void setbrand(String brand) { this.brand = brand; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getcolor() { return color; } public void setcolor(String color) { this.color = color; } }
CarRepository
package com.example.discovery; import org.bson.types.ObjectId; import org.springframework.data.mongodb.repository.MongoRepository; public interface CarRepository extends MongoRepository{ Car findBy_id(ObjectId _id); }
CarController
package com.example.discovery; import java.util.List; import javax.validation.Valid; import org.bson.types.ObjectId; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/cars") public class CarController { @Autowired private CarRepository repository; @RequestMapping(value = "/", method = RequestMethod.GET) public ListgetAllCars() { return repository.findAll(); } @RequestMapping(value = "/{id}", method = RequestMethod.GET) public Car getCarById(@PathVariable("id") ObjectId id) { return repository.findBy_id(id); } @RequestMapping(value = "/", method = RequestMethod.POST) public Car createCar(@Valid @RequestBody Car Cars) { Cars.set_id(ObjectId.get()); repository.save(Cars); return Cars; } @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) public void deleteCar(@PathVariable ObjectId id) { repository.delete(repository.findBy_id(id)); } @RequestMapping(value = "/{id}", method = RequestMethod.PUT) public void modifyCarById(@PathVariable("id") ObjectId id, @Valid @RequestBody Car Cars) { Cars.set_id(id); repository.save(Cars); } }
This is just a trick, hope it paved your way out.
Sunday, May 12, 2019
Saturday, May 11, 2019
Saturday, May 4, 2019
12 - Spring boot Introduction to Unit Testing with JUnit Hello World
POM.xml
4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.4.RELEASE com.example TestingTuto12 0.0.1-SNAPSHOT TestingTuto12 Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools runtime org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
TestingTuto12Application
package com.example.testingtuto12; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TestingTuto12Application { public static void main(String[] args) { SpringApplication.run(TestingTuto12Application.class, args); } }
GreetingController
package com.example.testingtuto12; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class GreetingController { @RequestMapping("/greeting") public Boolean sendGreeting() { return true; } }
TestingTuto12ApplicationTests
package com.example.testingtuto12; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class TestingTuto12ApplicationTests { @Test public void contextLoads() { } @Autowired public GreetingController greetingController; @Test public void testSendGreeting() { Boolean greeting = greetingController.sendGreeting(); //assertEquals(greeting, "Hello World Dude!"); assertTrue(greeting); } }
To run the test, right click the testSendGreeting() method and select run as JUnit test as shown below .
Wednesday, May 1, 2019
11 - Spring boot Consuming a microservice with RestTemplate and Eureka
Part 1 to install Eureka Server and let it discover the Eureka client
application.properties
server.port=8080 spring.application.name=consumer-service
POM.xml
4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.4.RELEASE com.example Tuto10EurekaClientConsumer 0.0.1-SNAPSHOT Tuto10EurekaClientConsumer Demo project for Spring Boot 1.8 Greenwich.SR1 org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-netflix-eureka-client org.springframework.boot spring-boot-devtools runtime org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import org.springframework.boot spring-boot-maven-plugin
Tuto10EurekaClientConsumerApplication
package com.example.clientConsumer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.context.annotation.Bean; import org.springframework.web.client.RestTemplate; @SpringBootApplication @EnableEurekaClient public class Tuto10EurekaClientConsumerApplication { public static void main(String[] args) { SpringApplication.run(Tuto10EurekaClientConsumerApplication.class, args); } @Bean @LoadBalanced public RestTemplate restTemplate() { return new RestTemplate(); } }
ClientConsumerController
package com.example.clientConsumer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; @RestController public class ClientConsumerController { @Autowired RestTemplate restTemplate; @RequestMapping("/consumer") public String getClientMessage() { String url = "http://localhost:8081/hello"; String url1 = "http://myclient-service/hello"; String res = restTemplate.getForObject(url1, String.class); return "Message : "+res; } }
This is just a trick, hope it paved your way out.
Subscribe to:
Posts (Atom)