- All JavaEE Viedos Playlist
- All JavaEE Viedos
- All JAVA EE Links
- All Design Patterns Links
- Spring Tutorial
- Spring boot & JMS & Apache Kafka & Web Services
- Servlets Tutorial
- JDBC Tutorial
- JAVA Tutorial
- Java Collection Framework
- Apache Server Tutorial
- Apache Maven Tutorial
- JSON/XML/SQL/MongoDB Tutorials
- Computer Tutorial
- Kids Learning Tutorial
- Cooking Tutorial
- All Design Patterns Links
- Design Pattern - Playlists
- Design Pattern - Playlists - Part1
- Design Patterns - Introduction - Playlist
- J2EE Design Patterns - Playlist
- Creational Design patterns - Playlist
- Structural Design patterns - Playlist
- Behavioral Design patterns - Playlist
- Front Controller Design Pattern - Playlist
- Intercepting Filter Design Pattern - Playlist
- Business Delegate Design Pattern - Playlist
- Service Locator Design Pattern - Playlist
- Context Object Design Pattern - Playlist
- Data Access Object Design Pattern - Playlist
- Design Pattern - Playlists - Part2
- Object Pool Design Pattern - Playlist
- Singleton Design Pattern - Playlist
- Factory Design Pattern - Playlist
- Abstract Factory Design Pattern - Playlist
- Prototype Design pattern - Playlist
- Builder Design pattern - Playlist
- Iterator Design Pattern - Playlist
- Observer Design Pattern - Playlist
- Chain of Responsibility Design Pattern - Playlist
- Memento Design pattern - Playlist
- Design Pattern - Playlists - Part3
- Mediator Design pattern - Playlist
- Strategy Design pattern - Playlist
- Visitor Design pattern - Playlist
- State Design pattern - Playlist
- Command Design pattern - Playlist
- Interpreter Design pattern - Playlist
- Filter or Criteria Design Pattern - Playlist
- Composite Design Pattern - Playlist
- Proxy Design pattern - Playlist
- Flyweight Design pattern - Playlist
- Decorator Design pattern - Playlist
- Bridge Design pattern - Playlist
- Adapter Design pattern - Playlist
- Design Pattern - Playlists - Part4
- Base Design Pattern - Playlist
- Data Source Architectural Design Patterns - Playlist
- Object-Relational Metadata Mapping Design Patterns - Playlist
- Offline Concurrency Design Patterns - Playlist
- Domain Logic Design Patterns - Playlist
- Object-Relational Behavioral Design Patterns - Playlist
- Object-Relational Structural Design Patterns - Playlist
- Web Presentation Design Patterns - Playlist
- Distribution Design Patterns - Playlist
- Session State Design Patterns - Playlist
- Concurrency Design patterns - Playlist
- Design Pattern - Playlists - Part5
- Design Pattern - Playlists - Part1
- Design Patterns - Introduction
- Design Patterns
- Design patterns - catalog
- Enterprise Application Architecture Patterns
- Domain Logic Patterns
- Data Source Architectural Patterns
- Object Relational Behavioral Patterns
- Object-Relational Structural Patterns
- Object Relational Metadata Mapping Patterns
- Web Presentation Patterns
- Distribution Patterns
- Offline Concurrency Patterns
- Base Design Pattern
- Session State Design pattern
- Concurrency patterns
- J2EE patterns
- Creational Design patterns
- Structural design patterns
- Behavioral design patterns
- J2EE Design Patterns
- Creational Design patterns
- Creational Design patterns
- Object Pool Design Pattern
- Singleton Design Pattern
- Factory Design Pattern
- Abstract Factory Design Pattern
- Prototype Design Pattern
- Builder Design Pattern
- Builder Design Pattern - Introduction
- Builder Design pattern - Real Time Example [Meal Package]
- Builder Design pattern - Real Time Example [Animal Toys]
- Builder Design pattern - Real Time Example [Beverage]
- Builder Design Pattern - Class Diagram
- Builder Design Pattern - Sequence Diagram
- Builder Design Pattern - Implementation [Beverage]
- Builder Design Pattern - Implementation [Animal Toy]
- Builder Design Pattern - KeyPoints
- Behavioral design patterns
- Behavioral design patterns
- Iterator Design Pattern
- Observer Design Pattern
- Chain of Responsibility Design Pattern
- Chain of Responsibility Design Pattern - Introduction
- Chain of Responsibility Design Pattern - Real time Example
- Chain of Responsibility Design Pattern - Class and Sequence Diagram
- Chain of Responsibility Design Pattern - Implementation(One Receiver)
- Chain of Responsibility Design Pattern - Implementation(one or more Receiver)
- Chain of Responsibility Design Pattern - Key Points
- Momento Design pattern
- Template Design pattern or Template Method Design pattern
- Template Design pattern or Template Method Design pattern - Introduction
- Template Design pattern or Template Method Design pattern - Real Time Example [Coffee]
- Template Design pattern or Template Method Design pattern - Real Time Example [Car]
- Template Design pattern or Template Method Design pattern - Class Diagram
- Template Design pattern or Template Method Design pattern - Implementation [Building a House]
- Template Design pattern or Template Method Design pattern - Implementation [Coffee]
- Template Design pattern or Template Method Design pattern - KeyPoints
- Mediator Design pattern
- Mediator Design pattern - Introduction
- Mediator Design pattern - When to Use
- Mediator Design pattern - Real Time Example [Facebook]
- Mediator Design pattern - Real Time Example [ATC]
- Mediator Design pattern - Real Time Example [Chat Room]
- Mediator Design pattern - Class Diagram
- Mediator Design pattern - Implementation [Facebook]
- Mediator Design pattern - Implementation [Chat Room]
- Mediator Design pattern - KeyPoints
- Strategy Design pattern
- Strategy Design pattern - Introduction
- Strategy Design pattern - Real Time Example [Compress files]
- Strategy Design pattern - Real Time Example [Payment]
- Strategy Design pattern - Real Time Example [Travel]
- Strategy Design pattern - Real Time Example [Sorting]
- Strategy Design pattern - Real Time Example [Search]
- Strategy Design pattern - Class Diagram
- Strategy Design pattern - Sequence Diagram
- Strategy Design pattern - Implementation [Compress files]
- Strategy Design pattern - Implementation [Travel]
- Strategy Design pattern - Implementation [Payment]
- Strategy Design pattern - Implementation [Search]
- Strategy Design pattern - Implementation [Sort]
- Strategy Design pattern - KeyPoints
- Visitor Design pattern
- Visitor Design pattern - Introduction
- Visitor Design pattern - Real time Example [Kids]
- Visitor Design pattern - Real time Example [Products]
- Visitor Design pattern - Class Diagram
- Visitor Design pattern - Implementation [Kids]
- Visitor Design pattern - Implementation [Products]
- Visitor Design pattern - KeyPoints
- State Design pattern
- State Design pattern - Introduction
- State Design pattern - Real time example [ATM]
- State Design pattern - Real time example [TV Remote]
- State Design pattern - Real time example [Vending Machine]
- State Design pattern - Real time example [Project]
- State Design pattern - Class Diagram
- State Design pattern - Implementation [ATM]
- State Design pattern - Implementation [Vending Machine]
- State Design pattern - Implementation [Project]
- State Design pattern - Implementation [LED TV]
- State Design pattern - Keypoints
- Command Design pattern
- Command Design pattern - Introduction
- Command Design pattern - Real time example [Hotel]
- Command Design pattern - Real time example [Menu]
- Command Design pattern - Class Diagram
- Command Design pattern - Sequence Diagram
- Command Design pattern - Object Creation and flow
- Command Design pattern - Implementation [Menu]
- Command Design pattern - Key points
- Interpreter Design pattern
- Structural design patterns
- Structural design patterns
- Filter or Criteria Design Pattern
- Composite Design Pattern
- Proxy Design Pattern
- Proxy Design Pattern - Introduction
- Proxy Design pattern - Real Time Example[ATM]
- Proxy Design pattern - Real Time Example [Proxy Server]
- Proxy Design pattern - Class Diagram
- Proxy Design pattern - Sequence Diagram
- Proxy Design pattern - Implementation [Protection Proxy]
- Proxy Design pattern - Implementation [Remote Proxy]
- Proxy Design pattern - Implementation[Virtual Proxy]
- Proxy Design Pattern - Key Points
- Flyweight Design pattern
- Decorator Design pattern
- Decorator Design pattern - Introduction
- Decorator Design pattern - Real Time Example [Dosa]
- Decorator Design pattern - Real Time Example [Ice Cream]
- Decorator Design pattern - Real Time Example [Pizza]
- Decorator Design pattern - Real Time Example [Car]
- Decorator Design pattern - Class Diagram
- Decorator Design pattern - Sequence Diagram
- Decorator Design pattern - Implementation [Dosa]
- Decorator Design pattern - Implementation [Pizza]
- Decorator Design pattern - Implementation [Ice Cream]
- Decorator Design pattern - Implementation [Car]
- Decorator Design pattern - Implementation [Shape]
- Decorator Design pattern - Key Points
- Bridge Design pattern
- Bridge Design pattern - Introduction
- Bridge Design pattern - Real time example [Send Message]
- Bridge Design pattern - Real time example [Publish Message]
- Bridge Design pattern - Real time example [Shape]
- Bridge Design pattern - Real time example [TV]
- Bridge Design pattern - Class Diagram
- Bridge Design pattern - Implementation [Shape]
- Bridge Design pattern - Implementation [Send Message]
- Bridge Design pattern - Implementation [Publish Message]
- Bridge Design pattern - Implementation [LED TV]
- Bridge Design pattern - Keypoints
- Adapter Design Pattern
- Adapter Design pattern - Introduction
- Adapter Design Pattern - Real Time Exmaple(Translator)
- Adapter Design pattern - Real Time Example (Card Reader)
- Adapter Design pattern - Real Time Example (Mobile Charger)
- Adapter Design pattern - Real Time Example (Universal Adaptor)
- Adapter Design pattern - Real Time Example [JDBC Driver]
- Adapter Design pattern - Class diagram
- Adapter Design Pattern - Sequence diagram
- Adapter Design Pattern - Implementation [Language Translator]
- Adapter Pattern - Implementation [Object Adapter]
- Adapter Pattern - Implementation [Class Adapter]
- Adapter Design Pattern - Implementation [Mobile Charger]
- Adapter Design Pattern - Key Points
- Concurrency Design patterns
- Concurrency patterns
- Thread Pool Design Pattern
- Monitor or synchronization Design Pattern
- Lock Design Pattern
- Scheduler Design Pattern
- Read-write lock Design Pattern
- Messaging Design Pattern(MDP)
- Messaging Design Pattern(MDP) - Introduction
- Messaging Design Pattern(MDP) - Asynchronous messaging
- Messaging Design Pattern(MDP) - Two Way Messaging
- Messaging Design Pattern(MDP) - Implementation of Proxy
- Messaging Design Pattern(MDP)-Implementation of Adapter
- Messaging Design Pattern(MDP) - Implementation of Webservice
- Reactor Design Pattern
- Double-checked locking Design Pattern
- Offline Concurrency Patterns
- Session State Design pattern
- Distribution Patterns
- Base Design Pattern
- Base Design Pattern
- Gateway Design Pattern
- Layer Supertype Design Pattern
- Registry Design Pattern
- Money Design Pattern
- Plugin Design Pattern
- Special Case Design Pattern
- Separated Interface Design Pattern
- Service Stub Design Pattern
- Record Set Design Pattern
- Mapper Design Pattern
- Value Object Design Pattern
- Web Presentation Patterns
- Domain Logic Patterns
- Object Relational Structural Patterns
- Object-Relational Structural Patterns
- Identity Field Design Pattern
- Foreign Key Mapping Design Pattern
- Association Table Mapping Design Pattern
- Dependent Mapping Design Pattern
- Embedded Value Design Pattern
- Serialized LOB Design Pattern
- Single Table Inheritance Design Pattern
- Class Table Inheritance Design Pattern
- Concrete Table Inheritance Design Pattern
- Inheritance Mappers Design Pattern
- Object Relational Behavioral Patterns
- Object Relational MetadataMapping Patterns
- Data Source Architectural Patterns
- All Design Patterns Links
- Servlets Tutorial
- Servlets Tutorial - Playlists [Part 1]
- Servlets Tutorial - Playlist
- Tomcat - Playlist
- Servlets : WAR file - Playlist
- HTTP Methods and HTTP Status Codes - Playlist
- Client-Server Model - Playlist
- Servlet Application Creation using Eclipse - Playlist
- Servlets Basics - Playlist
- Servlets : Request and Response Headers - Playlist
- Servlets Form Data - Playlist
- Servlets : ServletConfig and ServletContext - Playlist
- Servlets : load-on-startup - Playlist
- Servlets : RequestDispatcher - Playlist
- Servlets : Send Redirect - Playlist
- Servlets Tutorial - Playlists [Part 2]
- Servlet Filter - Playlist
- Servlets : Filter Config - Playlist
- Servlets : HttpSession - Playlist
- Servlets : Cookies - Playlist
- Servlets : Attribute - Playlist
- Servlets : ServletRequestAttributeListener - Playlist
- Servlets : Listeners - Playlist
- Servlets : HttpSessionAttributeListener - Playlist
- Servlets : ServletContextAttributeListener - Playlist
- Servlets : ServletContextListener - Playlist
- Servlets : Upload File and Download File - Playlist
- Servlets : HttpSessionListener - Playlist
- Servlets : ServletRequestListener - Playlist
- Servlets : HttpSessionBindinglistener - Playlist
- Servlets : Session Tracking - Playlist
- Servlets : URL Rewriting - Playlist
- Servlets - Database Access - Playlist
- Servlets Basics - Part1
- Servlets Basics - Part2
- Servlets : Request and Response Headers
- Servlets Form Data
- ServletConfig and ServletContext
- Servlets : load-on-startup
- RequestDispatcher and Send Redirect
- RequestDispatcher Introduction
- Servlets : RequestDispatcher Example
- Servlets : Send Redirect Introduction
- Send Redirect Demo[Transfer control to the Servlet which is in the Same Webcontainer]
- Send Redirect Demo[Transfer control to different domain]
- Servlets : Send Redirect vs. Forward
- Page Redirection
- Filter Config
- Servlet Filter
- Servlet HttpSession
- Session Tracking
- Servlets Listeners
- Servlets Listeners
- ServletRequestAttributeListener Introduction
- ServletRequestAttributeListener Demo
- HttpSessionAttributeListener Introduction
- HttpSessionAttributeListener Demo
- ServletContextAttributeListener Introduction
- ServletContextAttributeListener Demo
- ServletContextListener Introduction
- ServletContextListener Demo
- HttpSessionListener Introduction
- HttpSessionListener Demo
- HttpSession Listener Demo [Count logged in Users]
- ServletRequestListener Introduction
- ServletRequestListener Demo
- HttpSessionBindinglistener Introduction
- HttpSessionBindinglistener Demo
- HttSessionActivationListener
- Servlets - Database Access
- MySQL Installation
- MySQL Workbench
- Oracle Database Server Installation
- Oracle Sql Developer Installation
- Oracle Sql Developer - Connect to the User
- JDBC|Servlets : BoneCP Connection Pooling - Oracle - Tomcat
- JDBC|Servlets : BoneCP Connection Pooling - Mysql- Tomcat
- JDBC|Servlets : BoneCP DataSource Oracle - Tomcat
- JDBC|Servlets : BoneCP DataSource Mysql - Tomcat
- JDBC|Servlets : Tomcat Connection Pooling - DBCP- Oracle
- JDBC|Servlets : Tomcat Connection Pooling - DBCP - Mysql
- JDBC|Servlets : Tomcat C3PO Connection Pooling - Mysql
- JDBC|Servlets : Tomcat C3PO Connection Pooling - Oracle
- Client-Server Model
- Eclipse
- Tomcat
- war file
- HTTP Methods and HTTP Status Codes
- Servlets Tutorial
- JDBC Tutorial
- JDBC Tutorial - Playlist [Part 1]
- JDBC Tutorial - Playlist
- Mysql Tutorial - Playlist
- JDBC : Steps to Connect to the Database and Demo - Playlist
- JDBC ResultSetMetadata - Playlist
- JDBC DatabaseMetadata - Playlist
- JDBC Statement - Playlist
- JDBC Connection - Playlist
- JDBC PreparedStatement - Playlist
- JDBC ResultSet - Playlist
- JDBC Create|Read|Update|Delete Records - Playlist
- JDBC Create|Drop Database - Playlist
- JDBC Create|Drop Table - Playlist
- JDBC Batch Processing - Playlist
- JDBC Scrollable ResultSet - Playlist
- JDBC Tutorial - Playlist [Part 2]
- JDBC DriverManager and JDBC Driver - Playlist
- Java Decompiler - Playlist
- JDBC Basics - Playlist
- JDBC Driver Types - Playlist
- JDBC Store and Retrieve Image - Playlist
- JDBC Store and Retrieve File - Playlist
- JDBC Transaction Management - Playlist
- JDBCRowSet - Playlist
- JDBC Mysql - Playlist
- JDBC Oracle - Playlist
- JDBC DataSource - Playlist
- JDBC DBCP DataSource - Playlist
- JDBC : Java Database Connection Pooling - Playlist
- Oracle Database & SqlDeveloper Tutorial - Playlist
- Bone CP Connection Pooling - Playlist
- DBCP Connection Pooling - Playlist
- C3PO Connection Pooling - Playlist
- JDBC Stored Procedure (Mysql) - Playlist
- JDBC Stored Procedure (Oracle) - Playlist
- Mysql & Oracle
- JDBC Basics
- JDBC Driver Types
- JDBC Driver Types
- Type 1 JDBC Driver : JDBC-ODBC Bridge Driver (Bridge Driver)
- Type 2 JDBC Driver: Native-API driver/Partly Java driver(Native Driver)
- Type 3 Driver : AllJava/Net-protocol driver or Network Protocol Driver(Middleware Driver)
- Type 4 Driver : All Java/Native-protocol driver or Thin Driver (Pure Java Driver)
- JDBC : Which Driver Should be used
- JDBC Statement & PreparedStatement
- JDBC ResultSet
- JDBC ResultSetMetadata
- JDBC DatabaseMetadata
- JDBC Create|Read|Update|Delete Records
- JDBC Batch Processing
- JDBC Transaction Management
- JDBC Store Image & File
- JDBCRowSet
- JDBC DataSource
- Java Database Connection Pooling
- JDBC : Java Database Connection Pooling [BoneCP vs DBPool vs C3PO]
- JDBC|Servlets : BoneCP Connection Pooling - Oracle - Tomcat
- JDBC|Servlets : BoneCP Connection Pooling - Mysql- Tomcat
- JDBC|Servlets : BoneCP DataSource Oracle - Tomcat
- JDBC|Servlets : BoneCP DataSource Mysql - Tomcat
- JDBC|Servlets : Tomcat Connection Pooling - DBCP- Oracle
- JDBC|Servlets : Tomcat Connection Pooling - DBCP - Mysql
- JDBC|Servlets : Tomcat C3PO Connection Pooling - Mysql
- JDBC|Servlets : Tomcat C3PO Connection Pooling - Oracle
- Object Pool Design Pattern - Introduction
- Object Pool Design Pattern - Implementation
- Connection Pooling [Example of Object Pool Design Pattern]
- Object Pool Design Pattern - KeyPoints
- JDBC Stored Procedure
- JDBC : CallableStatement Introduction.
- Mysql - Simple Stored Procedure
- Mysql - Stored Procedure with Input Parameter
- Mysql - Stored Procedure with multiple Input Parameters
- Mysql - Stored Procedure with Input and Output Parameters
- JDBC - CallableStatement with Input and Output Parameters(Mysql)
- JDBC - CallableStatement (Mysql)
- JDBC - CallableStatement with Input Parameter(Mysql)
- JDBC - CallableStatement Multiple In Out Parameters (Mysql)
- Oracle : Stored Procedure with Input and Output Parameters
- Oracle : Stored Procedure Cursor
- JDBC - CallableStatement In Out Parameters (Oracle)
- JDBC - CallableStatement Cursor(Oracle)
- JDBC - CallableStatement Cursor and multiple out param(Oracle)
- JDBC Tutorial
Saturday, 19 February 2022
Spring boot - How to use Java Persistence Query Language(JPQL)? | RESTful Web Services
🚀 Master Spring Boot & JPA!
Subscribe to Ram N Java for the most simplified Java & Spring tutorials!
SUBSCRIBE TO OUR CHANNELHow to Implement JPQL in Spring Boot REST Services
When building robust RESTful Web Services with Spring Boot, you often need more than just the default CRUD operations. JPQL (Java Persistence Query Language) allows you to write complex database queries using entity objects instead of database tables.
What is JPQL?
JPQL is a platform-independent object-oriented query language defined as part of the Java Persistence API (JPA) specification. Key benefits include:
- Object-Oriented: You write queries against your Java entities and their properties.
- Database Independent: JPA translates JPQL into the specific SQL dialect of your database.
- Simplicity: It looks very similar to SQL, making it easy for developers to learn.
Using @Query with JPQL
In Spring Data JPA, you can easily use JPQL by using the @Query annotation in your Repository interfaces. For example:
User findByEmail(String email);
Why use JPQL in REST APIs?
Using JPQL in your REST services allows you to handle specific business requirements like complex filtering, joining multiple entities, or performing custom aggregations that the standard findBy... methods cannot handle alone.
📥 Download Slides & Source Code!
I’ve shared the full source code and PowerPoint presentation for this JPQL implementation! Check out the download links in the YouTube video description.
Spring boot - How to use Native SQL Queries? | RESTful Web Services
🚀 Boost Your Backend Skills!
Subscribe to Ram N Java for simplified Java, Spring, and Cloud tutorials!
SUBSCRIBE TO OUR CHANNELMastering Native SQL Queries in Spring Boot
While JPA and JPQL are excellent for most tasks, sometimes you need the full power and performance of Native SQL Queries. Whether you're working with complex database-specific features or optimizing performance, knowing how to execute raw SQL in Spring Boot is a vital skill for any developer.
What are Native SQL Queries?
Native SQL queries are raw SQL statements that are executed directly against your database (MySQL, PostgreSQL, Oracle, etc.). Unlike JPQL, which queries Java entities, Native SQL queries work directly with database tables and columns.
- Performance: Fine-tune your queries for maximum speed.
- Flexibility: Use database-specific keywords and functions.
- Control: Complete control over the generated SQL.
Implementing @Query with nativeQuery=true
In your Spring Data JPA Repository, you can mark a query as native by setting the nativeQuery attribute to true:
List<User> findByStatusNative(@Param("status") String status);
When to Use Native SQL?
Use Native SQL when you need to perform complex joins, use specialized database functions (like window functions), or when JPQL doesn't support the specific syntax required for your data access layer optimization.
📥 Download Slides & Source Code!
I’ve made the full source code and PowerPoint presentation for this tutorial available! Head over to the YouTube video description to find the download links.
Sunday, 6 February 2022
Spring boot - JUnit Integration Test. Testing JWT Tokens and UserId | RESTful Web Services
🚀 Become a Testing Pro!
Subscribe to Ram N Java for simplified tutorials on Spring Boot and Cloud security!
SUBSCRIBE TO OUR CHANNELJUnit Testing: Verifying JWT Tokens & User IDs in Spring Boot
Testing is a vital part of building secure and reliable RESTful Web Services. In this guide, we dive into how to use JUnit to verify that your Spring Boot application is correctly returning JWT tokens and the expected user IDs during the authentication process.
Why Test JWT & User Identity?
Security is the backbone of any enterprise application. Ensuring that your identity provider (IDP) or authentication service works as expected prevents unauthorized access and data leaks. JUnit testing allows you to:
- Automate Security Checks: Verify authentication logic every time you change your code.
- Validate Response Structure: Ensure your API returns the correct JSON format with the JWT token.
- Confirm User Logic: Guarantee that the returned User ID matches the authenticated user.
Implementing the Test
We use MockMvc to simulate an authentication request and JsonPath to inspect the resulting JSON response. Here’s a conceptual look at how we assert the presence of a token:
.andExpect(jsonPath("$.userId").value(expectedUserId))
The Role of Assertions
Using assertTrue, assertNotNull, and assertEquals, we can programmatically confirm that our security layer is behaving exactly as designed, providing peace of mind before any production deployment.
📥 Get the Full Code & Slides!
I have shared the complete source code and PowerPoint presentation for this testing tutorial! Check out the download links in the YouTube video description.
Spring boot - What is H2 In-memory Database and Why Using It? | RESTful Web Services
🚀 Accelerate Your Development!
Subscribe to Ram N Java for simplified tutorials on Spring Boot and Database magic!
SUBSCRIBE TO OUR CHANNELWhy H2 In-Memory Database is a Game Changer for Spring Boot
When you're in the early stages of development or writing unit tests, setting up a full-scale database like MySQL or Oracle can be overkill. That's where the H2 In-Memory Database shines. It’s fast, lightweight, and requires zero installation.
What is H2 Database?
H2 is an open-source SQL database written in Java. Its "in-memory" mode means that the data is stored in the system's RAM rather than on the disk. When the application stops, the data is cleared, making it the perfect tool for:
- Rapid Prototyping: Test your JPA entities and logic instantly.
- Unit Testing: Run your tests in an isolated, clean environment every time.
- Zero Setup: Just add a dependency and you're ready to go.
The Magic of the H2 Console
One of the best features of H2 is the built-in web-based H2 Console. By enabling it in your application.properties, you can visualize your tables and run SQL queries directly from your browser while your Spring Boot app is running.
Why It Stands Out
H2 stands out because of its compatibility. It can emulate other databases like PostgreSQL or MySQL, allowing you to develop with H2 locally while using a different database in production with minimal configuration changes.
📥 Grab the Slides & Source Code!
I’ve made the PowerPoint presentation and Spring Boot source code available for free! Head over to the YouTube video description to find the download links.
Spring boot - Testing Rest Controller Methods with JUnit 5 | RESTful Web Services
🚀 Master Spring Boot Testing!
Subscribe to Ram N Java for the most simplified and practical tech tutorials!
SUBSCRIBE TO OUR CHANNELTesting Spring Boot REST Controllers with JUnit 5
Ensuring your API endpoints behave as expected is a critical step in professional software development. This guide focuses on testing REST Controller methods in Spring Boot using the power of JUnit 5 and MockMvc.
Why Test Your Controllers?
Controllers are the entry points to your application. Testing them allows you to verify:
- HTTP Status Codes: Ensure you return 200 OK, 201 Created, or 404 Not Found correctly.
- Response Body: Validate that the JSON returned contains the right data.
- Request Mapping: Confirm that URLs and HTTP methods (GET, POST, etc.) are correctly mapped.
Key Tools: MockMvc & JUnit 5
Spring Boot provides MockMvc to simulate HTTP requests without starting a full server. Combined with JUnit 5 assertions, it becomes a powerful way to write fast, reliable tests.
.andExpect(status().isOk())
.andExpect(jsonPath("$.name").value("Ram"));
Best Practices
Always aim for high test coverage but focus on meaningful scenarios. Mock your service layer using @MockBean to isolate your controller logic, making your tests truly unit-level and incredibly fast.
📥 Get the Full Source Code!
I always share the complete project source code and PowerPoint presentation for my tutorials! You can find the download links in the YouTube video description.
Saturday, 5 February 2022
Spring boot - Testing Service Layer Code with JUnit 5 & Mockito | RESTful Web Services
🚀 Master Backend Testing!
Subscribe to Ram N Java for the most simplified Java & Spring Boot tutorials!
SUBSCRIBE TO OUR CHANNELTesting Service Layer with JUnit 5 & Mockito
In a Spring Boot application, the Service Layer is where your core business logic lives. Testing this layer in isolation is crucial. This guide explains how to use JUnit 5 and Mockito to write fast, reliable unit tests that don't depend on a database or external services.
Why Mock the Repository?
Unit tests should be isolated. By using Mockito's @Mock, we create a "fake" version of our Repository. This allows us to:
- Speed up tests: No need to wait for a database to start.
- Avoid side effects: Tests won't change your actual data.
- Test edge cases: Easily simulate scenarios like "user not found" or "database error."
Key Annotations
To set up your service layer tests, you'll primarily use these three annotations:
@Mock: Creates a mock instance of a dependency (like your Repository).@InjectMocks: Creates an instance of the class being tested and injects the mocks into it.@BeforeEach: A method that runs before every test case, usually to initialize the mocks.
Asserting Exceptions
A great test doesn't just check for success; it also verifies that your code handles errors correctly. With JUnit 5, you can use assertThrows to ensure your service throws the right exception when it encounters bad data.
userService.getUser("wrong@email.com");
});
📥 Download the Full Code!
I’ve provided the complete Java source code and PowerPoint presentation for this Service Layer tutorial! You can find the direct download links in the description of the YouTube video above.
Tutorials
- " "AI Integration (1)
- " and "Software Development" (1)
- @EnableJms (2)
- @JmsListener (2)
- @KafkaListener (5)
- @PathVariable (1)
- @RequestBody (2)
- @RequestParam (2)
- Accept Header (1)
- Access Policy (1)
- Account Creation (1)
- Accounting (1)
- Active Mandate (1)
- ActiveMQ (9)
- ActiveMQ Tutorial (9)
- Agile Tutorial (3)
- AI (3)
- AI Agents (1)
- AI Development (1)
- AI Integration (1)
- AI Technology (1)
- AI Tools (1)
- AJAX (1)
- Alice and Bob (1)
- All Java EE Tutorial Links (4)
- All JAVA EE Tutorials (1)
- Amazon EC2 (14)
- Amazon S3 (10)
- Amazon SQS (18)
- Amazon Web Services (6)
- AMQP (18)
- AMQP Model (1)
- Annotations (1)
- Apache ActiveMQ (1)
- Apache Kafka (49)
- Apache Maven (5)
- Apache Maven Tutorial (1)
- Apache Server (2)
- Apache Server Tutorial (1)
- API (3)
- API Basics (2)
- API Design (3)
- API Documentation (1)
- API for Beginners (2)
- API Security (5)
- API Testing (5)
- App Tour (1)
- Architecture (7)
- Artificial Intelligence (3)
- Asynchronous Messaging (4)
- Asynchronous Programming (1)
- Auth Concepts (1)
- Authentication (8)
- Authorization (1)
- Auto Debit (1)
- Automation (1)
- AutoPay (3)
- AutoPay Mandate (1)
- Avoid Scams (1)
- AWS (78)
- AWS Architecture (1)
- AWS Basics (1)
- AWS CLI (2)
- AWS Configuration (1)
- AWS Console (2)
- AWS EC2 (15)
- AWS Free Tier (1)
- AWS Guide (3)
- AWS SDK (5)
- AWS Security (2)
- AWS SNS (9)
- AWS SQS (5)
- AWS Tips (1)
- AWS Tutorial (14)
- Backend (1)
- Backend Development (104)
- Bank Charges (1)
- Bank Linking (2)
- Bank Transfer (1)
- Banking (2)
- Banking Explained (1)
- Banking Guide (1)
- Banking Safety (1)
- Banking Security (2)
- Banking Tips (7)
- Basic Authentication (2)
- Beginner Guide (8)
- Beginner Tech (3)
- Beginner Tutorial (1)
- Beginner Tutorials (1)
- Beginner's Guide (1)
- Beginners (3)
- Beginners Guide (5)
- Best Health Plans (1)
- Big Data (4)
- Bill Payment (1)
- Bill Payments (1)
- Billing (1)
- Block Diagram (1)
- Browser Tips (1)
- Business (1)
- Business Case Study (1)
- Business Growth (3)
- Business Model (1)
- Business Security (1)
- Business Setup (1)
- Business Tips (7)
- Caching (1)
- Callbacks (4)
- Cashback (1)
- Cashback Tricks (1)
- Cashless Treatment (1)
- Cashless vs Reimbursement (1)
- CDN (5)
- Choreography vs Orchestration (1)
- Claim Rejection (2)
- Claims Guide (1)
- CLI (4)
- Cloud Architecture (2)
- Cloud Automation (1)
- Cloud Backup (1)
- Cloud Billing (1)
- Cloud Computing (70)
- Cloud Computing vs On-Premise (1)
- Cloud Deployment (1)
- Cloud Infrastructure (1)
- Cloud Integration (7)
- Cloud Messaging (1)
- Cloud Migration (1)
- Cloud Monitoring (1)
- Cloud Security (3)
- Cloud Storage (7)
- Cloud Tutorials (1)
- CloudWatch (1)
- Cluster Management (1)
- CMAK (1)
- Collection URIs (1)
- Command Line (1)
- Computer Science (1)
- Computer Tricks (32)
- Configuration (1)
- Consumer (1)
- Consumer Groups (8)
- Consumer Rights (1)
- Contactless Payments (1)
- Content Negotiation (2)
- Content-Type (2)
- Cookie Based Auth (1)
- Cooking (1)
- Corporate Insurance (1)
- Cost Management (1)
- Cost Optimization (4)
- CPU (1)
- CPU Tutorial (1)
- Credit Card (1)
- Credit Score (2)
- CRUD (5)
- CRUD Operations (1)
- CURL (1)
- Custom Objects (4)
- Cyber Safety (1)
- Cyber Security (9)
- Cybersecurity (1)
- Data Consistency (1)
- Data Pipelines (1)
- Data Processing (1)
- Data Protection (1)
- Data Streaming (2)
- Database (5)
- Database Architecture (2)
- Database Authentication (1)
- Database Installation (1)
- Database Optimization (1)
- Database Queries (1)
- DataSync (1)
- Dead Letter Queue (2)
- Dead-letter Queue (1)
- Debit Card (2)
- Default Exchange (1)
- DELETE (2)
- Delivery Delay (1)
- Deployment (1)
- Deserialization (4)
- Design Patterns (330)
- Design Patterns Tutorial (1)
- Desktop Tips (1)
- Developer Tools (1)
- DevOps (34)
- DevOps Tutorial (12)
- Digital Banking (10)
- Digital Finance (1)
- Digital India (2)
- Digital Payments (52)
- Digital Safety (1)
- Digital Security (3)
- Digital Transformation (1)
- Direct Exchange (1)
- Distributed Systems (24)
- Distributed Tracing (1)
- Distributed Transactions (2)
- DLQ (1)
- DNS Tutorials (8)
- Dropbox (1)
- DynamoDB (5)
- e-Mandate (1)
- EC2 (6)
- Eclipse (5)
- EDA (1)
- Electricity Bill (1)
- Email Notification (1)
- Email Tutorial (1)
- Embedded Broker (1)
- EMI (1)
- EMI Bounce (1)
- EMI Management (1)
- Employee Benefits (1)
- Encryption (3)
- Enterprise Architecture (3)
- Enterprise Java (1)
- Enterprise Security (1)
- Erlang (4)
- Erlang OTP (1)
- Error Handling (3)
- Event Driven Architecture (45)
- Event Sourcing (1)
- Event Streaming (3)
- Event-Driven Architecture (5)
- EventBridge (1)
- Exception Handling (2)
- Exchange Types (2)
- Failed Payment (1)
- Family Finance (2)
- Family Floater (2)
- Family Health (1)
- Family Protection (2)
- Fanout Exchange (1)
- FastAPI (1)
- Fault Tolerance (3)
- FIFO Queue (1)
- File Transfer (1)
- Filter Policy (1)
- Finance (8)
- Finance for Beginners (2)
- Finance Security (1)
- Finance Tips (13)
- Financial Education (2)
- Financial Fraud (1)
- Financial Literacy (4)
- Financial Management (4)
- Financial Mistakes (1)
- Financial Planning (16)
- Financial Security (3)
- Financial Tech (1)
- Financial Tips (3)
- FinTech (11)
- Fintech Explained (1)
- Flight Booking (1)
- Fraud Awareness (1)
- Fraud Prevention (5)
- Fraud Protection (1)
- Free Tier (2)
- Full-Stack Development (1)
- Future of Tech (1)
- GCP (4)
- GCP for Beginners (2)
- GET (2)
- GET vs POST (1)
- Google Cloud (6)
- Google Cloud Overview (1)
- Google Cloud Platform (1)
- Google Drive (1)
- Google Drive vs OneDrive (1)
- Google Pay (76)
- Google Pay Business (1)
- Google Pay Refund (1)
- Google Pay Review (1)
- Google Pay Safety (5)
- Google Pay Scam (1)
- Google Pay Scams (2)
- Google Pay Security (3)
- Government Schemes (1)
- GPay (4)
- GPay Fix (1)
- GPay for Business (7)
- GPay Guide (1)
- GPay Tips (1)
- GraalVM (1)
- Gradle (2)
- Gradle Tutorial (1)
- H2 Database (1)
- Hardware (1)
- Headers Exchange (1)
- Health (1)
- Health Insurance (20)
- Health Insurance Age (1)
- Health Insurance India (1)
- Heart Care (1)
- Hibernate (6)
- Hibernate Validator (1)
- Hidden Features (1)
- High Throughput (1)
- How It Works (4)
- How JMS Works (1)
- How to Choose Insurance (1)
- How UPI Works (1)
- How-to (4)
- How-to Guide (1)
- HTTP Headers (1)
- HTTP Methods (6)
- HTTP Status Codes (1)
- IAM (2)
- Identity Management (5)
- Identity Provider (1)
- In-Memory DB (1)
- India Fintech (1)
- India Insurance Guide (1)
- India Payments (1)
- Individual vs Family Floater (1)
- Installation (4)
- Installation Guide (1)
- Installation Tutorial (2)
- Insurance Basics (1)
- Insurance Claims (1)
- Insurance Comparison (1)
- Insurance Coverage (2)
- Insurance Guide (2)
- Insurance Mistakes (1)
- Insurance Tips (8)
- Insurance Waiting Period (1)
- International Payments (1)
- International Transfer (1)
- Investing (2)
- Investing 101 (1)
- Investing for Beginners (4)
- Investing Tips (2)
- Investment Tips (1)
- IRCTC (2)
- Jackson (3)
- Jackson XML (2)
- JAVA (2617)
- Java Annotations (1)
- Java Backend (1)
- JAVA Basics (1522)
- Java Collection Framework (522)
- Java Collection Framework Tutorial (1)
- Java Development (3)
- Java Installation (1)
- Java Message Service (10)
- Java Objects (4)
- Java Programming (3)
- Java Security (1)
- JAVA Tutorial (18)
- JavaScript (1)
- JAX-RS (1)
- JDBC (117)
- JDBC Tutorial (1)
- JDK 11 (2)
- JDK 17 (3)
- JDK 21 (2)
- JDK 22 (2)
- JDK 23 (2)
- JDK 8 (1)
- Jersey Framework (2)
- JMS (16)
- JMS API (1)
- JMS Architecture (3)
- JMS Tutorial (7)
- JmsTemplate (3)
- JPA (16)
- JPQL (1)
- jQuery (1)
- JSON (36)
- JSON Tutorial (1)
- JSON Web Token (3)
- JUnit (2)
- JUnit 5 (2)
- JWT (7)
- JWT Tutorial (1)
- Kafka (2)
- Kafka Architecture (7)
- Kafka Broker (4)
- Kafka Cluster (4)
- Kafka Components (2)
- Kafka Consumer (11)
- Kafka Essentials (1)
- Kafka Features (1)
- Kafka for Beginners (4)
- Kafka Fundamentals (1)
- Kafka Installation (2)
- Kafka Introduction (3)
- Kafka Manager (1)
- Kafka Offsets (2)
- Kafka Partitions (4)
- Kafka Producer (15)
- Kafka Publisher (1)
- Kafka Replication (1)
- Kafka Scalability (1)
- Kafka Scaling (2)
- Kafka Terminologies (1)
- Kafka Topics (3)
- Kafka Tutorial (48)
- Kafka Use Cases (1)
- Kafka Workflow (1)
- KafkaConsumer (2)
- KafkaProducer (2)
- KafkaTemplate (6)
- Kids Learning (16)
- Kids Learning Tutorial (1)
- KMS (2)
- KYC (1)
- KYC Guide (1)
- Lambda (2)
- Laymans Terms (1)
- Learning (1)
- LEGO Analogy (1)
- Lifecycle Policies (1)
- Lifecycle Rules (1)
- Linux (24)
- Linux Server (1)
- Local Development (1)
- Logging (1)
- Long Polling (2)
- Loose Coupling (1)
- Machine Learning (2)
- Mandate Limit (1)
- Mandate Status (1)
- Manual Acknowledgment (1)
- Many-To-Many (2)
- MariaDB (1)
- Marketing Tips (1)
- Mastering API Gateway: Complete Guide (5)
- Maven (6)
- MCP (4)
- MCP Explained (1)
- MCP Server (1)
- Medical Awareness (1)
- Medical Bills (1)
- Medical Insurance (1)
- Merchant Tips (1)
- Merchant Verification (1)
- Message Broadcasting (1)
- Message Broker (7)
- Message Converter (1)
- Message Filtering (1)
- Message Keys (2)
- Message Queue (9)
- Message Reliability (1)
- Message Retention (1)
- Message Routing (4)
- Message Size (1)
- MessageListener (1)
- Messaging (6)
- Messaging Analogy (2)
- Messaging Concepts (3)
- Messaging Model (1)
- Messaging Models (2)
- Messaging Queue (2)
- Messaging Queues (1)
- Messaging Service (2)
- Messaging Services (1)
- Messaging Standard (1)
- Messenger Analogy (1)
- MFA (1)
- Microservices (114)
- Microsoft Store (1)
- Mobile Apps (1)
- Mobile Payments (1)
- Mobile Recharge (2)
- Mobile Security (1)
- Mockito (1)
- MockMvc (1)
- Model Context Protocol (6)
- Money Management (5)
- Money Recovery (1)
- Money Refund (1)
- Money Safety (4)
- Money Tips (1)
- Money Transfer (2)
- MongoDB Tutorial (9)
- Monolithic (2)
- Mutual Funds (9)
- Mysql (16)
- NACH (1)
- Native Query (1)
- NAV (1)
- NAV Explained (1)
- Netflix (5)
- Netflix Architecture (2)
- Netflix System Design (1)
- Network Hospitals (1)
- NFC (1)
- NoSQL (3)
- NPCI (3)
- Number Verification (1)
- Object Lambda (1)
- Object Messaging (1)
- Offline Payments (1)
- One-to-Many (7)
- OneDrive (1)
- Online Fraud (1)
- Online Fraud Prevention (1)
- Online Payments (2)
- Online Protection (1)
- Online Safety (7)
- Online Scams (1)
- Online Security (3)
- Online Shopping (1)
- oogle Pay (1)
- Open Connect (4)
- OpenAPI (1)
- Oracle (10)
- OTP Guide (1)
- OTP Integration (1)
- Pagination (1)
- Parallel Processing (1)
- Parents Healthcare (1)
- Partition Rebalancing (2)
- Partition Strategy (1)
- Passive Income (2)
- Pause AutoPay (1)
- Payment Failed (2)
- Payments (1)
- Paytm (20)
- Paytm for Business (1)
- Paytm Guide (1)
- Paytm QR Code (1)
- Paytm Refund (1)
- Paytm Review (1)
- Paytm Soundbox (2)
- Paytm Tips (14)
- PED (1)
- Performance (1)
- Personal Finance (16)
- Personal Health Plan (1)
- Phishing Alerts (1)
- Phone Analogy (1)
- PhonePe (21)
- PhonePe Refund (1)
- Point-to-Point (2)
- POJO (1)
- POST (2)
- POST Request (1)
- POST vs PUT (1)
- Postman (7)
- Postman Tutorial (1)
- Pre-Existing Disease (1)
- Pricing (1)
- Privacy Settings (1)
- Private Insurance (1)
- Processor (1)
- Producer (1)
- Producer Consumer (2)
- Productivity (1)
- Profit Tracking (1)
- Programming (3)
- Programming for Beginners (1)
- Programming Foundation (1)
- Programming Guides (1)
- Programming Model (1)
- Programming Tips (1)
- Programming Tutorial (2)
- Programming Tutorials (1)
- Protocol (1)
- Protocol Differences (1)
- Pub-Sub (1)
- Pub/Sub Messaging (1)
- Publish-Subscribe (1)
- PUT (2)
- PuTTY (1)
- PuTTYgen (1)
- Python (1)
- QR Code (1)
- QR Code Safety (1)
- QR Code Setup (1)
- Query Parameters (2)
- Queues vs Topics (1)
- RabbitListener (1)
- RabbitMQ (23)
- RabbitMQ Tutorial (11)
- Ram N Java (275)
- RBI Rules (1)
- RDS (1)
- Real Time Streaming (1)
- Real-Time Data (1)
- Recurring Payments (4)
- Redrive Allow Policy (1)
- Refund Guide (1)
- Refunds (3)
- Reliability (4)
- Resource URIs (1)
- Resources (1)
- ResponseEntity (1)
- REST API (57)
- REST Client (2)
- REST vs SOAP (1)
- RESTful API (1)
- RESTful Architecture (1)
- RESTful Web Services (3)
- RestTemplate (2)
- Retail Technology (1)
- Retry Policy (1)
- Revoke Mandate (2)
- Routing Key (1)
- S3 (11)
- S3 Bucket (1)
- S3 Hosting (1)
- S3 Select (1)
- S3 Versioning (1)
- Saga Pattern (3)
- SAML (1)
- SAML Protocol (1)
- Save Money (1)
- Scalability (9)
- Scam Alerts (2)
- Scrum Tutorial (6)
- SDK (1)
- SDLC (1)
- Security (8)
- Security Tips (2)
- Senior Citizens (1)
- Sequence Diagram (2)
- Sequence Diagrams (1)
- Serialization (6)
- Serverless (4)
- Service Discovery (2)
- Service Discovery in Microservices (2)
- Service Layer (1)
- Service Provider (1)
- Servlets (150)
- Servlets Tutorial (1)
- SES (1)
- Session Management (1)
- Setup Guide (3)
- SFTP (1)
- Shop Owner Tips (1)
- Shopkeeper Guide (1)
- Short Polling (1)
- Single Sign On (6)
- SIP (1)
- SIP Failure (1)
- Small Business Guide (1)
- Small Business Tips (1)
- SMS Integration (1)
- SMS Marketing (1)
- SMS Tutorial (3)
- SNS (7)
- SOA (1)
- SOAP (6)
- SOAP 1.1 (1)
- SOAP 1.2 (1)
- SOAP Protocol (1)
- SOAP Request (1)
- SoapUI (2)
- SoapUI Tutorial (2)
- Software Architecture (21)
- Software Development (2)
- Software Development Life Cycle (SDLC) (6)
- Software Engineering (6)
- Software Integration (1)
- Software Setup (1)
- Spring (285)
- Spring Boot (237)
- Spring Boot Deployment (1)
- Spring Boot Tutorial (1)
- Spring Cloud AWS (2)
- Spring Cloud Sleuth (1)
- Spring Data JPA (5)
- Spring Data REST (4)
- Spring Framework (1)
- Spring JMS (3)
- Spring Security (4)
- Spring Tutorial (1)
- SQL (62)
- SQS (5)
- SQS Tutorial (10)
- SQS Wait Time (1)
- SSH (2)
- SSO (5)
- SSO Analogy (1)
- SSO Architecture (1)
- SSO for Beginners (1)
- SSO Simplified (1)
- SSO Tutorial (2)
- Standard Queue (1)
- Static Website (1)
- Stocks vs Mutual Funds (1)
- Storage (2)
- Sum Insured (1)
- Swagger (1)
- System Administration (1)
- System Architecture (1)
- System Design (31)
- Tech Analogy (1)
- Tech Basics (3)
- Tech Breakdown (1)
- Tech Comparison (4)
- Tech Education (3)
- Tech Explained (13)
- Tech for Beginners (2)
- Tech Guide (9)
- Tech Hacks (1)
- Tech Help (1)
- Tech Review (1)
- Tech Simplified (1)
- Tech Support (1)
- Tech Tips (21)
- Tech Trends 2026 (1)
- Tech Tutorial (5)
- Tech Tutorials (4)
- Technology (5)
- Testing (2)
- The Ultimate Guide to Forward & Reverse Proxies (5)
- Token Based Auth (2)
- Top-up vs Super Top-up (1)
- Topic Exchange (1)
- Traditional Servers (1)
- Train Booking (2)
- Transaction Failed (1)
- Transaction History (1)
- Travel Guide (2)
- Troubleshooting (3)
- Tutorial (84)
- Tutorials (13)
- Two Phase Commit (1)
- Ubuntu (2)
- UDDI (1)
- Understanding Firewalls | Firewall Tutorial (8)
- Uninstall Java (4)
- Uninstallation (2)
- Unit Testing (1)
- Universal AI Standard (1)
- UPI (19)
- UPI Apps (1)
- UPI AutoPay (10)
- UPI AutoPay Refund (1)
- UPI Collect Request (1)
- UPI Dispute (1)
- UPI Error (2)
- UPI Explained (2)
- UPI Fraud (2)
- UPI Guide (2)
- UPI Help (1)
- UPI ID (1)
- UPI Limit Increase (1)
- UPI Limits (1)
- UPI Lite (4)
- UPI Mistakes (1)
- UPI Payments (2)
- UPI Pending (1)
- UPI PIN (2)
- UPI PIN Reset (1)
- UPI Problems (1)
- UPI Refund (1)
- UPI Safety (5)
- UPI Scams (2)
- UPI Security (2)
- UPI Setup (2)
- UPI Tips (2)
- UPI Tutorial (9)
- UPI vs Cards (1)
- UPI vs Wallet (1)
- URI (1)
- User Sign-up (1)
- Utility Bills (1)
- Validation (1)
- Verified Badge (1)
- Visibility Timeout (2)
- VPN Basics: Understanding Virtual Private Networks (5)
- Waiting Period (1)
- Wealth Building (4)
- Web Development (47)
- Web Security (9)
- Web Services (11)
- Web Services Tutorial (4)
- WhatsApp (4)
- WhatsApp Architecture (2)
- WhatsApp Web (1)
- Wildcards (1)
- Windows (1)
- Windows 10 (1)
- Windows 11 (4)
- Windows Installation (2)
- Windows Tips (1)
- WinSCP (2)
- Wrong Deduction (1)
- WSDL (2)
- XML (19)
- XML Response (1)
- XMPP (2)
- YUM (1)
- Zookeeper (7)