স্প্রিং বুট অ্যাপ্লিকেশনগুলির কনফিগারেশন সেট করা একটি গুরুত্বপূর্ণ দিক। এর মাধ্যমে আপনি বিভিন্ন সেটিংস এবং প্রোপার্টিজ নির্ধারণ করতে পারেন, যেমন ডেটাবেসের কনফিগারেশন, লগিং, সার্ভার পোর্ট, অ্যাপ্লিকেশনের পরিবেশ এবং অন্যান্য কাস্টম সেটিংস। স্প্রিং বুট সাধারণত দুটি ফরম্যাটে কনফিগারেশন ফাইল ব্যবহার করে: application.properties এবং application.yml। উভয় ফরম্যাটই একই কাজ করে, তবে YAML ফাইলটি অনেক বেশি পাঠযোগ্য এবং হায়ারারকিক্যাল ডাটা ম্যানেজমেন্টে সুবিধাজনক।
স্প্রিং বুট প্রোপার্টিজ কনফিগারেশন (application.properties)
স্প্রিং বুট অ্যাপ্লিকেশনে application.properties ফাইল ব্যবহার করে কনফিগারেশন সেট করা হয়। এখানে সাধারণ কনফিগারেশন প্রোপার্টিজ দেয়া হচ্ছে।
প্রথম উদাহরণ: ডেটাবেস কনফিগারেশন
# ডেটাবেস কনফিগারেশন
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=rootpassword
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
এখানে spring.datasource.url, spring.datasource.username এবং spring.datasource.password প্রোপার্টিজের মাধ্যমে ডেটাবেসের সংযোগ কনফিগার করা হয়েছে।
দ্বিতীয় উদাহরণ: সার্ভার পোর্ট কনফিগারেশন
# সার্ভারের পোর্ট কনফিগারেশন
server.port=8081
এখানে server.port=8081 দ্বারা স্পেসিফাই করা হয়েছে যে অ্যাপ্লিকেশনটি 8081 পোর্টে রান করবে।
তৃতীয় উদাহরণ: অ্যাপ্লিকেশনের নাম কনফিগারেশন
# অ্যাপ্লিকেশনের নাম
spring.application.name=MySpringBootApp
এখানে spring.application.name প্রোপার্টিজ ব্যবহার করা হয়েছে অ্যাপ্লিকেশনের নাম সেট করার জন্য।
স্প্রিং বুট YAML কনফিগারেশন (application.yml)
YAML একটি সহজ এবং পঠনযোগ্য ফরম্যাট যা কনফিগারেশন ডেটা শ্রেণীবদ্ধভাবে এবং হায়ারারকিক্যালভাবে প্রদর্শন করে। স্প্রিং বুট অ্যাপ্লিকেশনেও আপনি application.yml ফাইল ব্যবহার করতে পারেন। নিচে এর উদাহরণ দেয়া হলো।
প্রথম উদাহরণ: ডেটাবেস কনফিগারেশন
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: root
password: rootpassword
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
hibernate:
ddl-auto: update
show-sql: true
এখানে, YAML ফরম্যাটে ডেটাবেস কনফিগারেশন দেয়া হয়েছে, যেখানে spring.datasource এবং spring.jpa এর কনফিগারেশন হায়ারারকিক্যালভাবে সাজানো হয়েছে। YAML ফাইলের প্রধান সুবিধা হল, এটি অধিক পঠনযোগ্য এবং পরিবেশের প্রেক্ষিতে আরো কার্যকরী।
দ্বিতীয় উদাহরণ: সার্ভার পোর্ট কনফিগারেশন
server:
port: 8081
এখানে server.port YAML ফরম্যাটে কনফিগার করা হয়েছে। এটি স্প্রিং বুট অ্যাপ্লিকেশন চালানোর জন্য পোর্ট নির্ধারণ করে।
তৃতীয় উদাহরণ: অ্যাপ্লিকেশনের নাম কনফিগারেশন
spring:
application:
name: MySpringBootApp
এখানে অ্যাপ্লিকেশনের নাম spring.application.name প্রোপার্টির মাধ্যমে YAML ফরম্যাটে কনফিগার করা হয়েছে।
কাস্টম প্রোপার্টিজ কনফিগারেশন
স্প্রিং বুট অ্যাপ্লিকেশন থেকে কাস্টম প্রোপার্টিজও লোড করা সম্ভব। যদি আপনি আপনার অ্যাপ্লিকেশনের জন্য কাস্টম প্রোপার্টি যুক্ত করতে চান, তবে আপনাকে একটি কাস্টম প্রোপার্টি ফাইল তৈরি করতে হবে।
কাস্টম প্রোপার্টি (application.properties)
# কাস্টম প্রোপার্টি
myapp.name=My Custom Application
myapp.version=1.0.0
কাস্টম প্রোপার্টি (application.yml)
myapp:
name: My Custom Application
version: 1.0.0
এখন আপনি @Value অ্যানোটেশন ব্যবহার করে এই কাস্টম প্রোপার্টি অ্যাক্সেস করতে পারবেন।
@Component
public class AppConfig {
@Value("${myapp.name}")
private String appName;
@Value("${myapp.version}")
private String appVersion;
public void printAppDetails() {
System.out.println("App Name: " + appName);
System.out.println("App Version: " + appVersion);
}
}
প্রোপার্টি এবং YAML এর মধ্যে পার্থক্য
| ফিচার | application.properties | application.yml |
|---|---|---|
| পঠনযোগ্যতা | তুলনামূলকভাবে কম পঠনযোগ্য | অধিক পঠনযোগ্য এবং পরিষ্কার |
| হায়ারারকি | ন্যূনতম | সহজেই হায়ারারকিক্যাল ডাটা ম্যানেজমেন্ট |
| ব্যবহার | ছোট এবং সাধারণ কনফিগারেশন | বড় এবং জটিল কনফিগারেশন |
| সিনট্যাক্স | = চিহ্ন ব্যবহার | ইনডেন্টেশন ভিত্তিক |
সারাংশ
স্প্রিং বুট অ্যাপ্লিকেশন কনফিগারেশন ফাইল হিসেবে application.properties এবং application.yml দুটি ফরম্যাটই সমর্থন করে। properties ফাইল সরল এবং সোজা, তবে YAML ফাইলটি বেশি পাঠযোগ্য এবং সহজে হায়ারারকিক্যাল ডাটা ম্যানেজমেন্ট সমর্থন করে। আপনি যেভাবে সুবিধা অনুভব করেন, সেই ফরম্যাটটি ব্যবহার করে আপনার স্প্রিং বুট অ্যাপ্লিকেশন কনফিগার করতে পারেন।
Read more