banking application using springboot

 

ssdf

✅ 1. Spring Web

  • Purpose: Enables building web applications, including REST APIs.

  • Included in: spring-boot-starter-web

  • Provides:

    • Spring MVC (Model-View-Controller)

    • Embedded Tomcat (or Jetty/Undertow)

    • REST controllers with @RestController, @RequestMapping, etc.

✅ 2. MySQL Driver

  • Purpose: Acts as a connector (JDBC driver) that allows Java applications to communicate with a MySQL database.

  • Maven Dependency: mysql:mysql-connector-java

  • Without it, your app can't talk to MySQL.

✅ 3. Spring Data JPA

  • Purpose: Simplifies database interactions by abstracting JPA (Java Persistence API) using Spring features.

  • Included in: spring-boot-starter-data-jpa

  • Provides:

    • Auto generation of SQL queries

    • Repository interfaces like CrudRepository, JpaRepository

    • Pagination, sorting, and custom queries

✅ 4. Lombok

  • Purpose: Reduces boilerplate code in Java using annotations.

  • Works during compile time

  • Common Annotations:

    • @Getter, @Setter

    • @NoArgsConstructor, @AllArgsConstructor

    • @Data (all-in-one)

    • @Builder


Purpose of application.properties in a Maven Spring Boot Project

The application.properties file is a central configuration file used in Spring Boot to define application settings like:

  • Database configuration

  • Server settings

  • Logging levels

  • Custom app settings

  • Third-party service integrations


src/main/resources/application.properties
 
eg:

 spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=secret
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

 

✅ Summary of spring.jpa.hibernate.ddl-auto=update

  • Purpose: Automatically updates the database schema to match your JPA entity classes.

  • Behavior: Adds new columns or tables as needed without deleting data.

  • Use Case: Speeds up development by syncing DB schema with code changes.

  • ⚠ Not recommended for production – can cause unintended schema changes.


 

Annotation Purpose
@Entity Maps class to DB table
@Table(name="accounts") Sets custom table name
@Id Marks primary key field
@GeneratedValue(...) Auto-generates primary key
@Column(name="...") Maps field to custom column name
@Getter, @Setter Auto-generates getters and setters (Lombok)
@NoArgsConstructor Adds no-arg constructor (Lombok)
@AllArgsConstructor Adds all-args constructor (Lombok)

 

 

 

 

 

 

 

 

Comments

Popular Posts