Menu Bar

Kata Mutiara

"Keberhasilan merupakan tetesan dari jeri-payah perjuangan, luka, pengorbanan dan hal-hal yang mengejutkan. Kegagalan merupakan tetesan dari kemalasan, kebekuan, kelemahan, kehinaan dan kerendahan"

ANIMASI TULISAN BERJALAN

Tuesday, February 24, 2026

20 Fundamental Spring Boot yang wajib diketahui Pemula Programmer spesialis Java Developer

 

Apa itu Spring Boot

Spring Boot adalah framework berbasis Spring Framework yang mempermudah pembuatan aplikasi Java production-ready dengan:

✅ konfigurasi minimal
✅ embedded server
✅ auto-configuration
✅ siap untuk microservices & cloud


1. Konsep Inti: Dependency Injection (DI) & IoC

🎯 Tujuan

Mengurangi coupling antar class.

Tanpa DI

UserService service = new UserService();

Dengan DI

@Service
public class UserService {}


@Autowired
UserService service;

Spring container akan membuat & mengelola object.

✔ loose coupling
✔ mudah testing
✔ mudah maintain


2. Auto Configuration

Spring Boot otomatis mengkonfigurasi komponen berdasarkan dependency.

Contoh:

Jika ada dependency:

spring-boot-starter-data-jpa

Spring otomatis setup:

✔ DataSource
✔ JPA
✔ Transaction manager

➡ developer tidak perlu konfigurasi manual.


3. Starter Dependencies

Starter = paket dependency siap pakai.

Contoh:

  • spring-boot-starter-web → REST API

  • spring-boot-starter-data-jpa → database

  • spring-boot-starter-security → authentication

  • spring-boot-starter-validation → validation

👉 mempercepat setup project.


4. Embedded Server

Spring Boot menjalankan server internal:

✔ Tomcat (default)
✔ Jetty
✔ Undertow

Menjalankan aplikasi cukup:

java -jar app.jar


5. Struktur Layered Architecture (Best Practice)

Struktur umum:

controller
service
repository
model/entity
dto
config
exception

📌 Controller (API layer)

@RestController
@RequestMapping("/users")
public class UserController {}


📌 Service (business logic)

@Service
public class UserService {}


📌 Repository (data access)

@Repository
public interface UserRepository extends JpaRepository<User, Long> {}

✔ separation of concerns
✔ scalable architecture


 6. REST API Development (Spring MVC)

Digunakan untuk membangun API.

@GetMapping("/{id}")
public User getUser(@PathVariable Long id) {
    return userService.getUser(id);
}

Annotation penting:

  • @RestController
  • @GetMapping
  • @PostMapping
  • @RequestBody
  • @PathVariable

7. Configuration Management

Konfigurasi di:

application.yml

Contoh: YAML

server:
    port: 8081

spring:
    datasource:
    url: jdbc:postgresql://localhost:5432/app


Profile Environment

application-dev.yml
application-prod.yml

Aktifkan:

spring.profiles.active=dev

✔ mendukung multi environment.


8. Spring Data JPA (ORM)

Mempermudah akses database.

public interface UserRepository extends JpaRepository<User, Long> {

    List<User> findByName(String name);

}

Tanpa SQL manual.


9. Entity Mapping

@Entity
public class User {
   @Id
   @GeneratedValue
   private Long id;
}

Mapping object → tabel database.


 10.Transaction Management

Digunakan untuk menjaga konsistensi data.

@Transactional
public void transfer() {
// debit
// credit
}

✔ rollback otomatis jika error
✔ penting untuk transaksi finansial

11. Validation

public class UserRequest {

@NotNull
private String name;
}

@PostMapping
public void create(@Valid @RequestBody UserRequest req){}

✔ validasi otomatis request.

12. Exception Handling Global

@RestControllerAdvice
public class GlobalExceptionHandler {

@ExceptionHandler(Exception.class)
public ResponseEntity<?> handle(Exception e){
return ResponseEntity.badRequest().body(e.getMessage());
}
}

✔ response error konsisten
✔ mudah debugging

13. Logging

Menggunakan SLF4J + Logback.

private static final Logger log LoggerFactory.getLogger(UserService.class);
log.info("User created");

✔ monitoring
✔ debugging production

14. Security (Spring Security + JWT)

Digunakan untuk:

✔ authentication
✔ authorization
✔ proteksi API

Biasanya digunakan bersama JWT token.


15. Caching

Menggunakan Redis / in-memory cache.

@Cacheable("users")
public User find(Long id){}

✔ meningkatkan performa

16. Actuator (Monitoring & Health Check)

Dependency:

spring-boot-starter-actuator

Endpoint:

/actuator/health
/actuator/metrics

✔ monitoring aplikasi production.

17. Spring Boot Profiles & Environment

Memisahkan konfigurasi:

✔ dev
✔ staging
✔ production

Sangat penting untuk deployment.


 18. Build & Packaging

Gunakan:

✔ Maven
✔ Gradle

Build:

mvn clean package

Hasil:

app.jar

19. Testing

Unit Test

@SpringBootTest
class UserServiceTest {}

Tools umum:

✔ JUnit
✔ Mockito
✔ Testcontainers

20. Microservices Ready Features

Spring Boot mendukung:

✔ REST communication
✔ service discovery
✔ distributed config
✔ circuit breaker
✔ container deployment

Flow Request di Spring Boot

1️⃣ Client request API
2️⃣ Controller menerima request
3️⃣ Service menjalankan business logic
4️⃣ Repository akses database
5️⃣ Response dikirim kembali


 Kenapa Spring Boot Populer di Enterprise?

✅ cepat dikembangkan
✅ standar industri
✅ scalable & cloud ready
✅ ecosystem besar
✅ production ready

Kesimpulan

Fundamental Spring Boot yang wajib dikuasai:

✔ Dependency Injection & IoC
✔ Auto Configuration & Starter
✔ REST API & MVC
✔ JPA & Transaction
✔ Exception handling & validation
✔ Security & caching
✔ Monitoring & deployment

Friday, February 20, 2026

Jebakan financial setelah kerja 10 tahun saat masih single

Setelah 10 tahun bekerja dan masih single, seseorang sering kali berada di puncak pendapatan tertinggi namun juga paling rentan terhadap jebakan gaya hidup. Kondisi "tanpa tanggungan" (anak/pasangan) sering membuat lengah dan menyebabkan

Berikut adalah jebakan finansial setelah 10 tahun bekerja saat masih single berdasarkan hasil penelusuran:
1. Lifestyle Inflation (Gaya Hidup Meningkat)
  • Jebakan: Saat pendapatan naik, pengeluaran naik lebih tinggi. Merasa "berhak" menikmati hasil kerja keras dengan membeli barang bermerek, gadget terbaru, atau sering fine dining.
  • Dampak: Tabungan tetap nol atau minim meskipun gaji sudah dua digit.
  • Cara Hindari: Tahan diri sebelum meningkatkan standar hidup dan tanyakan apakah pengeluaran tersebut meningkatkan kualitas hidup atau hanya egonya saja.
2. Terjebak Instagrammable Lifestyle
  • Jebakan: Keinginan untuk tampil trendy di media sosial—ngopi di kafe mahal, liburan mewah, atau membeli barang-barang fashion terbaru untuk dipamerkan.
  • Dampak: Uang habis untuk hal konsumtif sementara aset jangka panjang tidak terbentuk.
3. Meremehkan Pengeluaran Kecil (Latte Factor)
  • Jebakan: Langganan streaming (Netflix, Spotify, HBO, dll) yang tidak terpakai, layanan pesan-antar makanan, dan jajan harian yang dianggap kecil namun menumpuk.
  • Cara Hindari: Catat pengeluaran (misal: gunakan fitur In & Out di aplikasi bank) dan kurangi makan di luar.
4. Easy Debt (Paylater dan Kartu Kredit)
  • Jebakan: Menggunakan paylater dan kartu kredit untuk kebutuhan sehari-hari yang sebenarnya bisa dibayar tunai. Menganggapnya sebagai pendapatan tambahan.
  • Dampak: Bunga tinggi menguras pendapatan masa depan dan terjebak utang konsumtif.
5. Tidak Punya Dana Darurat & Asuransi
  • Jebakan: Merasa "single" membuat Anda merasa aman karena hanya menanggung diri sendiri. Akibatnya, mengabaikan dana darurat (ideal: 3-6 bulan pengeluaran) dan asuransi.
  • Dampak: Jika sakit atau kehilangan pekerjaan, tabungan akan ludes seketika.
6. "Sandwich Generation" Terselubung
  • Jebakan: Terlalu royal membantu saudara, keponakan, atau menanggung gaya hidup orang tua secara berlebihan tanpa batasan (budgeting).
  • Cara Hindari: Prioritaskan diri sendiri (self-care finansial) sebelum membantu orang lain.
7. Menunda Investasi dan Dana Pensiun
  • Jebakan: Merasa waktu masih panjang, sehingga fokus hanya pada kesenangan masa kini dan menunda investasi atau dana pensiun.
  • Dampak: Kehilangan kesempatan compound interest (bunga berbunga) yang sangat berharga dalam 10 tahun.
8. Two Income Trap (Versi Single)
  • Jebakan: Single sering kali menjadi sasaran empuk untuk cicilan jangka panjang (cicilan rumah, mobil, atau apartemen) karena merasa pendapatannya cukup.
  • Dampak: Arus kas tersedot untuk cicilan, meninggalkan sedikit uang untuk investasi.
Tips Utama: Bereskan "kebakaran finansial" (lunasi utang berbunga tinggi) dan tetapkan tujuan keuangan yang jelas, baik jangka pendek maupun jangka panjang.

iklan

iklan