Jackson Annotations Java-তে JSON serialization এবং deserialization কাস্টমাইজ করার জন্য ব্যবহৃত হয়। IntelliJ IDEA বা Eclipse-এ একটি প্রজেক্ট সেটআপ করা খুবই সহজ এবং নিচে ধাপে ধাপে সেটআপ প্রক্রিয়া ব্যাখ্যা করা হয়েছে।
1. প্রজেক্ট তৈরির জন্য প্রস্তুতি
- প্রয়োজনীয় সফটওয়্যার:
- IntelliJ IDEA (Community বা Ultimate Edition)
- Eclipse IDE (Enterprise Edition)
- JDK (Java Development Kit) 11 বা তার ঊর্ধ্ব সংস্করণ
- Maven/Gradle:
প্রজেক্টে ডিপেনডেন্সি ম্যানেজমেন্টের জন্য Maven বা Gradle ব্যবহার করা উচিত।
2. IntelliJ IDEA-তে প্রজেক্ট সেটআপ
ধাপ 1: নতুন Maven প্রজেক্ট তৈরি করা
- IntelliJ IDEA খুলুন এবং
New Projectনির্বাচন করুন। Mavenনির্বাচন করুন এবং JDK সঠিকভাবে সেট করুন।- প্রজেক্টের নাম এবং লোকেশন দিন।
Finishবাটনে ক্লিক করুন।
ধাপ 2: Maven Dependencies যুক্ত করা
- প্রজেক্টের
pom.xmlফাইল খুলুন। - নিচের ডিপেনডেন্সি যুক্ত করুন:
<dependencies>
<!-- Jackson Core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.15.2</version>
</dependency>
<!-- Jackson Annotations -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.15.2</version>
</dependency>
<!-- JUnit for Testing -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>
</dependencies>
ধাপ 3: Maven Project Synchronize করা
- IntelliJ IDEA স্বয়ংক্রিয়ভাবে Maven ডিপেনডেন্সি ডাউনলোড করবে।
- যদি না করে, তাহলে
File > Sync Project with Mavenনির্বাচন করুন।
ধাপ 4: Sample Class এবং Jackson Annotations ব্যবহার করা
- একটি নতুন Java Class তৈরি করুন, যেমন
User.java। - Jackson Annotations ব্যবহার করুন:
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
public class User {
@JsonProperty("user_id")
private int id;
private String name;
@JsonIgnore
private String password;
// Getters and Setters
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
ধাপ 5: Main Class তৈরি এবং Test করা
import com.fasterxml.jackson.databind.ObjectMapper;
public class Main {
public static void main(String[] args) throws Exception {
User user = new User();
user.setId(1);
user.setName("Alice");
user.setPassword("secret");
ObjectMapper mapper = new ObjectMapper();
// Serialize
String json = mapper.writeValueAsString(user);
System.out.println("Serialized JSON: " + json);
// Deserialize
String jsonInput = "{\"user_id\":2,\"name\":\"Bob\"}";
User newUser = mapper.readValue(jsonInput, User.class);
System.out.println("Deserialized User: " + newUser.getName());
}
}
ধাপ 6: প্রজেক্ট রান করা
Mainক্লাসে ডান-ক্লিক করেRunনির্বাচন করুন।- আউটপুট যাচাই করুন।
3. Eclipse IDE-তে প্রজেক্ট সেটআপ
ধাপ 1: নতুন Maven প্রজেক্ট তৈরি
- Eclipse খুলুন এবং
File > New > Maven Projectনির্বাচন করুন। Create a simple projectঅপশন নির্বাচন করুন।- প্রজেক্টের গ্রুপ আইডি এবং আর্টিফ্যাক্ট আইডি দিন।
Finishক্লিক করুন।
ধাপ 2: Maven Dependencies যুক্ত করা
- প্রজেক্টের
pom.xmlফাইল খুলুন। - IntelliJ IDEA-এর মতো একই ডিপেনডেন্সি যোগ করুন।
ধাপ 3: Sample Class তৈরি এবং Test করা
- IntelliJ IDEA-এর মতো একই কোড ব্যবহার করুন।
- Eclipse-এর Run As > Java Application অপশন ব্যবহার করে প্রজেক্ট চালান।
4. Jackson Annotations সহ Features
1. @JsonProperty
@JsonProperty("full_name")
private String name;
- JSON ফিল্ডের নাম কাস্টমাইজ করতে ব্যবহার করা হয়।
2. @JsonIgnore
@JsonIgnore
private String password;
- একটি ফিল্ড serialization/deserialization থেকে বাদ দিতে ব্যবহৃত হয়।
3. @JsonInclude
@JsonInclude(JsonInclude.Include.NON_NULL)
private String email;
- null মান থাকা ফিল্ড JSON-এ অন্তর্ভুক্ত করা বন্ধ করতে ব্যবহার হয়।
4. @JsonFormat
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
private Date birthDate;
- তারিখ ফরম্যাট নির্ধারণ করতে ব্যবহৃত হয়।
5. @JsonCreator এবং @JsonValue
- Custom deserialization এবং serialization জন্য।
@JsonCreator
public static User createFromJson(String json) {
// Custom logic
}
5. টেস্টিং এবং ডিবাগিং
- JUnit টেস্ট যুক্ত করা:
- IntelliJ IDEA বা Eclipse-এ JUnit ব্যবহার করে serialization/deserialization টেস্ট করুন।
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
class UserTest {
@Test
void testSerialization() throws Exception {
User user = new User();
user.setId(1);
user.setName("Alice");
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(user);
assertEquals("{\"user_id\":1,\"name\":\"Alice\"}", json);
}
}
- Debugging:
- IntelliJ IDEA বা Eclipse-এর ডিবাগ মোড চালু করে JSON প্রসেসিং সংক্রান্ত সমস্যা নির্ণয় করুন।
- IntelliJ IDEA এবং Eclipse-এ Jackson প্রজেক্ট সেটআপ করা সহজ।
- Maven ডিপেনডেন্সি এবং Jackson Annotations ব্যবহার করে প্রজেক্ট কাস্টমাইজ করা যায়।
- Unit Testing এবং Debugging-এর মাধ্যমে serialization এবং deserialization সঠিকভাবে কাজ করছে তা নিশ্চিত করুন।
আপনার ডেভেলপমেন্ট প্রয়োজন অনুযায়ী IntelliJ IDEA বা Eclipse ব্যবহার করতে পারেন।
Content added By
Read more