Tutorial Belajar Spring Framework Part VI: Java Persistence API (JPA)

Setelah pada artikel sebelumnya kita telah membuat fungsi CRUD menggunakan spring JDBC. Sekarang kita akan membahas cara lain dalam mengakses database melalui aplikasi java berbasis spring boot yang kita gunakan. Kali ini kita akan membahas mengenai Object Relational Mapping(ORM). ORM merupakan sebuah teknik yang bertujuan untuk melakukan mapping antara object oriented data dengan relational data pada database(RDBMS). Konsep ORM bermula dari 5 masalah yang dihadapi saat aplikasi berbasis obejct oriented kita berhubungan dengan relational table pada database,

  • Granularity

Object model yang kita miliki biasanya lebih granular dari pada tabel pada database. Granular disini bisa kita artikan lebih banyak, jadi kita biasanya memiliki jumlah class lebih banyak dibandingkan tabel pada database.

class Outlet{
    private String nama;
    private Alamat alamat;

    //getter and setter
}
class Alamat{
    private String kecamatan;
    private String kabupaten;
    
    //getter and setter
}
Tabel Outlet
nama
kecamatan
kabupaten
  • Subtypes

Subtypes disini berarti inheritance, dimana inheritance merupakan sebuah hal yang wajar dalam paradigma object oriented namun tidak dengan relational database.

  • Identity

Dalam relational database, column primary key menjadi sebuah identitas unique untuk setiap record. Namun dalam object model untuk menemukan kesamaan sebuah object terdapat 2 cara yaitu dengan equality(equals) dan juga ‘==’ yang berarti 2 object merefrensikan pada object yang sama.

  • Assosiactions

Dalam object model kita mengenal adanya assosiasi, sebagai contoh

class Outlet{
    private String nama;
    private Alamat alamat;

    //getter and setter
}
class Alamat{
    private String kecamatan;
    private String kabupaten;

    //getter and setter
}

Read More »

Tutorial Belajar Spring Framework Part V: CRUD Menggunakan Spring JDBC

Seperti aplikasi pada umumnya, tentu kita membutuhkan database untuk melakukan penyimpanan dan pengolahan data. Jika kita sudah sering menggunakan database pada aplikasi java, tentu sudah tidak asing lagi dengan istilah jdbc(java database connectivity). JDBC merupakan application programming interface(API) pada Java yang digunakan untuk mengakses database dari aplikasi java yang kita gunakan.

jdbc-architecture

Begitu pula pada aplikasi berbasis spring, kita juga tetap membutuhkan jdbc untuk mengakses database. Namun tentu terdapat perbedaan saat kita menggunakan jdbc secara konvensional dan saat menggunakan spring framework. Jika secara konvensional, maka kira-kira code kita akan seperti ini,Read More »

Tutorial Belajar Spring Framework Part IV: Template Project Menggunakan Spring Boot

springboot

Spring Boot merupakan salah satu project yang bertujuan menyederhanakan aplikasi berbasis Spring. Jika kita akan membuat aplikasi web misalnya dan kita berencana akan menggunakan spring framework, maka kita harus melakukan konfigurasi yang cukup memakan waktu agar aplikasi tersebut siap dijalankan. Namun dengan Spring Boot, kita tidak perlu melakukan konfigurasi yang rumit agar aplikasi kita siap dijalankan. Bahkan salah satu tujuan spring boot project yaitu meniadakan konfigurasi menggunakan XML. Oleh sebab itu, saat ini rasanya sudah banyak yang memilih menggunakan spring boot sebagai template project aplikasi berbasis spring dari pada melakukan konfigurasi aplikasi berbasis spring secara manual tanpa menggunakan spring boot.Read More »

Tutorial Belajar Spring Framework Part III: Bens dan Component

Setelah memahami konsep dari dependency injection dan spring inversion of control container, sekarang kita akan membahas mengenai bean dan component. Seperti yang sudah dibahas pada artikel sebelumnya, bean disini artinya merupakan sebuah object yang digunakan dalam aplikasi yang kita buat dan yang dimanaged oleh Spring IoC Container. Sebelumnya kita sudah mencoba untuk melihat bean yang terdapat pada container. Sekarang kita akan mencoba menambahkan bean pada container yang kita miliki. Semisal kita tambahkan class MessageBean

public class MessageBean {

    private String text;

    public MessageBean(String text) {
        this.text = text;
    }

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }
}

Untuk menambahkan bean MessageBean, kita akan menambahkan method pada Application class yang bertugas menginisialisasi object MessageBean. Contohnya sebagai berikut,Read More »

Tutorial Belajar Spring Framework Part II: Dependency Injection dan Spring Inversion of Control Container

Setelah pada artikel sebelumnya kita telah mengetahui gambaran spring yang begitu luas dengan 27 project yang sedang dikembangkan. Pada artikel kali ini akan membahas fokus pada core spring framework itu sendiri. Menggunakan spring framework saat ini tidaklah sulit, apalagi dengan adanya project spring boot, semakin memudahkan kita untuk menggunakan spring framework.

Sebelum spring framework versi 3.0, untuk menggunakan spring framework kita harus menuliskan konfigurasinya pada file xml. Setelah itu spring mulai memperkenalkan annotation pada versi 2.5 dan mulai mempopulerkan konfigurasi menggunakan annotation pada java class di versi 3.0. Namun, hingga kini kita tetap bisa menggunakan konfigurasi menggunakan xml. Banyak sekali perdebatan mengenai cara mana yang harus dipilih untuk mengkonfigurasi spring framework yang akan digunakan antara XML atau Annotations, yang jelas pada artikel ini saya akan menggunakan yang berbasis Annotations karena menurut saya lebih praktis. Seperti yang sudah saya jelaskan diawal, menggunakan spring framework itu tidak lah sulit tapi memahami konsep dan cara kerjanya itu yang membutuhkan sedikit imajinasi.

Dependency Injection

Dependency injection merupakan sebuah proses dimana sebuah object mendeklarasikan dependencies yang dia butuhkan lalu diinjectkan melalui constructor atau setter atau interface. Berikut contoh dalam code programRead More »

Tutorial Belajar Spring Framework Part I: Introduction To Spring Framework

Spring framework merupakan sebuah java platform yang menyediakan dukungan infrastruktur yang komprehensif untuk mengambangkan aplikasi berbasis java. Spring framework sendiri pertama kali rilis pada 1 Oktober 2002, berarti spring framework sudah berumur 14 tahun saat artikel ini ditulis. Saat ini versi stablenya sudah mencapai versi 4.3.3 dan tentunya Spring semakin berkembang dan semakin populer saja nampaknya. Saat ini sudah terdapat 27 spring project yang terus dikembangkan oleh pivotal diantaranya,

  • Spring IO Platform
  • Spring Boot
  • Spring Framework
  • Spring Cloud Data Flow
  • Spring Cloud
  • Spring Data
  • Spring Integration
  • Spring Batch
  • Spring Security
  • Spring HATEOAS
  • Spring Social
  • Spring AMPQP
  • Spring Mobile
  • Spring For Android
  • Spring Web Flow
  • Spring Web Service
  • Spring LDAP
  • Spring Session
  • Spring Shell
  • Spring XD
  • Spring Flo
  • Spring Kafka
  • Spring Roo
  • Spring Scala
  • Spring Blazeds Integration
  • Spring Loaded
  • REST Shell

Banyak sekali ternyata spring project yang ada saat ini, untuk memulai belajar spring tentunya kita akan fokus dulu pada Spring Framework. Spring framework merupakan core dari keseluaruhan spring project yang ada. Beberapa fitur yang menjadikan spring framework makin populer diantaranya dependency injection, transaction management, web apps, data access, messaging dan sebagainya. Kalau kita bedah isi dari spring framework, isinya adalah sebagai berikutRead More »