# 😊Project based learning- Learn Java like IT Professionals
Java-based programs -- part of Java Full-Stack Program. A complete series to learn Java for becoming a Full-Stack Java Developer.

<img src="https://dev-to-uploads.s3.amazonaws.com/i/7lqlnj2ma2nzhxhejsyr.png" alt="How to become successful Java Developer" align="right" width="50%" />

📌 Topics to be covered for Implementation:
> Declarations And Access Control..

- Identifiers & JavaBeans
- Legal Identifiers
- Sun's Java Code Conventions
- JavaBeans Standards
- Declare Classes
- Source File Declaration Rules
- Class Declarations and Modifiers
- Concrete Subclass
- Declaring an Interface
- Declaring Interface Constants
- Declare Class Members
- Access Modifiers
- Non-access Member Modifiers
- Constructor Declarations
- Variable Declarations
- Declaring Enums

> Operators
- Java Operators
- Assignment Operators
- Relational Operators
- instanceofComparison
- Arithmetic Operators
- Conditional Operator
- Logical Operators

> Maven Fundamentals
- Introduction
- Folder Structure
- The pom.xml
- Dependencies
- Goals
- Scopes
- The Compiler Plugin
- Source Plugin
- Jar Plugin

<img src="https://www.lincesoft.com/wp-content/uploads/2020/06/java-development.png" align="right" width="60%" />

> JUnit Testing
- Types of Tests
- Why Unit Tests Are Important
- What's JUnit?
- JUnit 5 Architecture
- IDEs and Build Tool Support
- Setting up JUnit with Maven
- Lifecycle Methods
- Test Hierarchies
- Assertions
- Disabling Tests
- Assumptions
- Test Interfaces and Default Methods
- Repeating Tests
- Dynamic Tests
- Parameterized Tests
- Argument Sources
- TDD Introduction
- Types of Testing
- Testing Frameworks and Tools
- Testing Concepts,Mockito

> Layered Architecture
- Understand the concept of Layered Architecture
- Implement layers in Java applications
