শীর্ষ 50 বসন্ত বুট ইন্টারভিউ প্রশ্ন এবং উত্তর

30 অক্টোবর, 2021

সুচিপত্র

1. স্প্রিং বুট কি?

স্প্রিং বুট হল স্বয়ংক্রিয়-কনফিগারেশন এবং এমবেডেড অ্যাপ্লিকেশন সার্ভার (যেমন টমক্যাট, জেটি) এর অতিরিক্ত সমর্থন সহ স্প্রিং ফ্রেমওয়ার্ক ব্যবহার করে RAD বিল্ডের জন্য একটি স্প্রিং মডিউল ফ্রেমওয়ার্ক।

স্প্রিং বুট ইন্টারভিউ প্রশ্ন ও উত্তর

2. স্প্রিং বুট ব্যবহার করার সুবিধা কি কি?

  • এটি অ্যাপ্লিকেশনের দ্রুত শুরুর জন্য ডিফল্ট কনফিগারেশনের একটি সেট লোড করার জন্য স্বয়ংক্রিয় কনফিগারেশন প্রদান করে।
  • অকার্যকর বৈশিষ্ট্যগুলির একটি পরিসর সহ স্বতন্ত্র অ্যাপ্লিকেশন তৈরি করে যা বড় শ্রেণীর প্রকল্পগুলির জন্য সাধারণ৷
  • ওয়ার ফাইলের ব্যবহার এড়াতে স্প্রিং বুট এমবেডেড টমক্যাট, সার্লেট কন্টেইনার জেটি সহ আসে।
  • স্প্রিং বুট বিকাশকারীর প্রচেষ্টাকে কমাতে এবং ম্যাভেন কনফিগারেশনগুলিকে সহজ করার জন্য একটি মতামতযুক্ত দৃশ্য সরবরাহ করে
  • অ্যাপ্লিকেশন বিকাশ এবং পরীক্ষা করার জন্য CLI টুল প্রদান করে
  • নির্ভরতা ব্যবস্থাপনা নিশ্চিত করতে স্প্রিং বুট স্টার্টার সহ আসে এবং বিভিন্ন নিরাপত্তা মেট্রিক্স প্রদান করে
  • dev এবং prod-এ অ্যাপ্লিকেশান নিরীক্ষণ ও পরিচালনার জন্য বিস্তৃত API-এর সমন্বয়ে গঠিত
  • বয়লারপ্লেট কোড এড়িয়ে স্প্রিং ইকোসিস্টেমের মতো স্প্রিং জেডিবিসি, স্প্রিং ওআরএম, স্প্রিং ডেটা, স্প্রিং সিকিউরিটির সাথে একীভূত হয়

3. একটি IOC ধারক এবং এর সুবিধাগুলি কী?

বসন্ত আইওসি কন্টেইনার (নিয়ন্ত্রণের বিপরীত) বসন্ত কাঠামোর মূলে রয়েছে। এই ধারকটি কনফিগারেশন ফাইলটি পড়বে এবং এর উপর ভিত্তি করে এটি বস্তুগুলি তৈরি এবং সংরক্ষণ করবে এবং এটি পরিচালনা করবে।



সুবিধা: বিকাশকারীরা ব্যবসায়িক যুক্তিতে মনোনিবেশ করতে পারে যেহেতু বস্তু তৈরি এবং পরিচালনা আইওসি কন্টেইনার দ্বারা পরিচালিত হয়।

আইওসি কন্টেইনার

4. আমরা কি স্প্রিং বুটে এমবেডেড টমক্যাট সার্ভারের পোর্ট পরিবর্তন করতে পারি?

হ্যাঁ আমরা অ্যাপ্লিকেশন বৈশিষ্ট্য ফাইল ব্যবহার করে এমবেডেড টমক্যাট সার্ভারের পোর্ট পরিবর্তন করতে পারি।

এই ফাইলটিতে, আপনাকে server.port-এর একটি প্রপার্টি যোগ করতে হবে এবং আপনার ইচ্ছামত যেকোনো পোর্টে এটি বরাদ্দ করতে হবে।

উদাহরণস্বরূপ, আপনি যদি এটি 8081 এ বরাদ্দ করতে চান, তাহলে আপনাকে উল্লেখ করতে হবে server.port=8081

একবার আপনি পোর্ট নম্বর উল্লেখ করলে, অ্যাপ্লিকেশন বৈশিষ্ট্য ফাইলটি স্প্রিং বুট দ্বারা স্বয়ংক্রিয়ভাবে লোড হবে এবং প্রয়োজনীয় কনফিগারেশনগুলি অ্যাপ্লিকেশনটিতে প্রয়োগ করা হবে।

আরো দেখুন শীর্ষ 100 জাভাস্ক্রিপ্ট ইন্টারভিউ প্রশ্ন এবং উত্তর

5. আমরা কি স্প্রিং বুটে এমবেডেড টমক্যাট সার্ভারকে ওভাররাইড বা প্রতিস্থাপন করতে পারি?

হ্যাঁ, আমরা স্টার্টার নির্ভরতা ব্যবহার করে এমবেডেড টমক্যাট সার্ভার প্রতিস্থাপন করতে পারি। স্প্রিং-বুট-স্টার্টার-জেটি আপনার প্রয়োজন অনুযায়ী প্রতিটি প্রকল্পের জন্য নির্ভরতা হিসাবে।

6. আমরা কি স্প্রিং বুট অ্যাপ্লিকেশনে ডিফল্ট ওয়েব সার্ভার নিষ্ক্রিয় করতে পারি?

বসন্তের প্রধান শক্তিশালী পয়েন্ট হল আপনার অ্যাপ্লিকেশনটিকে ঢিলেঢালাভাবে সংযুক্ত করার জন্য নমনীয়তা প্রদান করা। স্প্রিং একটি দ্রুত কনফিগারেশনে ওয়েব সার্ভার নিষ্ক্রিয় করার বৈশিষ্ট্য প্রদান করে। হ্যাঁ আমরা ওয়েব অ্যাপ্লিকেশনের ধরন কনফিগার করতে অ্যাপ্লিকেশন বৈশিষ্ট্যগুলি ব্যবহার করতে পারি যেমন, spring.main.web-application-type=none।

7. কিভাবে একটি নির্দিষ্ট স্বয়ংক্রিয় কনফিগারেশন ক্লাস নিষ্ক্রিয় করবেন?

আপনি @EnableAutoConfiguration-এর exclude attribute ব্যবহার করতে পারেন, যদি আপনি এমন কোনো নির্দিষ্ট স্বয়ংক্রিয়-কনফিগারেশন ক্লাস খুঁজে পান যা আপনি চান না প্রয়োগ করা হচ্ছে।

  • //বর্জন ব্যবহার করে
  • @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})

8. @SpringBootApplication টীকা অভ্যন্তরীণভাবে কী করে?

স্প্রিং বুট ডক অনুসারে, @SpringBootApplication টীকাটি @Configuration, @EnableAutoConfiguration, এবং @ComponentScan তাদের ডিফল্ট বৈশিষ্ট্য সহ ব্যবহার করার সমতুল্য। স্প্রিং বুট ডেভেলপারকে একাধিক ব্যবহারের পরিবর্তে একটি একক টীকা ব্যবহার করতে সক্ষম করে। কিন্তু আমরা যেমন জানি, স্প্রিং ঢিলেঢালাভাবে সংযুক্ত বৈশিষ্ট্যগুলি সরবরাহ করে যা আমরা আমাদের প্রকল্পের প্রয়োজন অনুসারে প্রতিটি পৃথক টীকাটির জন্য ব্যবহার করতে পারি।

9. আপনার জাভা ক্লাসে application.properties ফাইলে সংজ্ঞায়িত একটি সম্পত্তি কীভাবে ব্যবহার করবেন?

অ্যাপ্লিকেশন - বৈশিষ্ট্য ফাইলে সংজ্ঞায়িত বৈশিষ্ট্যগুলি অ্যাক্সেস করতে @Value টীকা ব্যবহার করুন।

  • @Value(${custom.value})
  • ব্যক্তিগত স্ট্রিং কাস্টম ভ্যাল;

10. স্প্রিং বুটে @RestController টীকা ব্যাখ্যা করুন?

@RestController হল Restful কন্ট্রোলার তৈরি করার জন্য একটি সুবিধাজনক টীকা। এটি @কম্পোনেন্টের একটি বিশেষীকরণ এবং ক্লাসপাথ স্ক্যানিংয়ের মাধ্যমে স্বয়ংক্রিয়ভাবে সনাক্ত করা হয়। এটি @Controller এবং @ResponseBody টীকা যোগ করে। এটি প্রতিক্রিয়াকে JSON বা XML-এ রূপান্তর করে।

  • যা @ResponseBody টীকা সহ কন্ট্রোলার ক্লাসের প্রতিটি অনুরোধ হ্যান্ডলিং পদ্ধতি টীকা করার প্রয়োজনীয়তা দূর করে। এটি সাধারণত @RequestMapping টীকাটির উপর ভিত্তি করে টীকাযুক্ত হ্যান্ডলার পদ্ধতির সাথে একত্রে ব্যবহৃত হয়।
  • নির্দেশ করে যে প্রতিটি পদ্ধতি দ্বারা প্রত্যাবর্তিত ডেটা রেন্ডারিং টেমপ্লেটের পরিবর্তে সরাসরি প্রতিক্রিয়া বডিতে লেখা হবে।

টপ স্প্রিং বুট ইন্টারভিউ প্রশ্ন ও উত্তর

11. স্প্রিং বুটে @RestController টীকা এবং @Controller এর মধ্যে পার্থক্য?

@কন্ট্রোলার মডেল অবজেক্টের মানচিত্র দেখতে বা টেমপ্লেট দেখতে এবং এটিকে মানুষের পঠনযোগ্য করে তোলে কিন্তু @RestController কেবল বস্তুটি ফেরত দেয় এবং বস্তুর ডেটা সরাসরি JSON বা XML হিসাবে HTTP প্রতিক্রিয়াতে লেখা হয়।

12. RequestMapping এবং GetMapping এর মধ্যে পার্থক্য কি?

রিকোয়েস্টম্যাপিংকে GET, POST, PUT এবং অন্যান্য অনেক অনুরোধের পদ্ধতির সাথে ব্যবহার করা যেতে পারে টীকাতে মেথড অ্যাট্রিবিউট ব্যবহার করে। যেখানে GetMapping শুধুমাত্র RequestMapping-এর একটি এক্সটেনশন, যা আপনাকে অনুরোধে স্পষ্টতা উন্নত করতে সাহায্য করে।

13. স্প্রিং বুটে প্রোফাইলের ব্যবহার কী?

এন্টারপ্রাইজের জন্য অ্যাপ্লিকেশন বিকাশ করার সময়, আমরা সাধারণত একাধিক পরিবেশ যেমন Dev, QA এবং Prod এর সাথে মোকাবিলা করি। এই পরিবেশের জন্য কনফিগারেশন বৈশিষ্ট্য ভিন্ন.

উদাহরণস্বরূপ, আমরা হয়তো Dev এর জন্য একটি এমবেডেড H2 ডাটাবেস ব্যবহার করছি, কিন্তু Prod-এর মালিকানা Oracle বা DB2 থাকতে পারে। এমনকি যদি ডিবিএমএস পরিবেশ জুড়ে একই হয় তবে URLগুলি অবশ্যই আলাদা হবে।

প্রতিটি পরিবেশের জন্য কনফিগারেশন আলাদা করতে সাহায্য করার জন্য স্প্রিং-এ প্রোফাইলের বিধান রয়েছে। যাতে এই প্রোগ্রামটিকে রক্ষণাবেক্ষণ না করে, প্রপার্টিগুলোকে আলাদা ফাইল যেমন application-dev.properties এবং application-prod.properties-এ রাখা যায়।

ডিফল্ট application.properties spring.profiles.active ব্যবহার করে বর্তমানে সক্রিয় প্রোফাইলের দিকে নির্দেশ করে যাতে সঠিক কনফিগারেশন নেওয়া হয়।

14. স্প্রিং এবং স্প্রিং বুটের মধ্যে পার্থক্য কি?

বসন্তবসন্ত বুট
জাভা ভিত্তিক একটি ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্কবসন্তের একটি মডিউল
কাস্টমাইজড ওয়েব অ্যাপ্লিকেশন তৈরি করতে টুল এবং লাইব্রেরি প্রদান করেএকটি স্প্রিং অ্যাপ্লিকেশন প্রকল্প তৈরি করতে ব্যবহৃত হয় যা কেবল চালাতে/চালনা করতে পারে
স্প্রিং বুটের চেয়ে বসন্ত আরও জটিলস্প্রিং বুট স্প্রিং ফ্রেমওয়ার্কের তুলনায় কম জটিল
একটি অ-মতের দৃষ্টিভঙ্গি নেয়একটি প্ল্যাটফর্মের একটি মতামতপূর্ণ দৃষ্টিভঙ্গি নেয়

15. স্প্রিং বুটের কয়েকটি বৈশিষ্ট্য উল্লেখ করুন।

স্প্রিং বুটের কয়েকটি বৈশিষ্ট্য
  • স্প্রিং সিএলআই: স্প্রিং বুট সিএলআই আপনাকে স্প্রিং বুট অ্যাপ্লিকেশন লেখার জন্য গ্রুভি ব্যবহার করতে দেয় এবং বয়লারপ্লেট কোড এড়িয়ে যায়।
  • স্প্রিং ইনিশিয়ালাইজার: এটি মূলত একটি ওয়েব অ্যাপ্লিকেশন, যা আপনার জন্য একটি অভ্যন্তরীণ প্রকল্প কাঠামো তৈরি করতে পারে।
  • স্প্রিং অ্যাকচুয়েটর: স্প্রিং বুট অ্যাপ্লিকেশন চালানোর সময় এই বৈশিষ্ট্যটি সহায়তা প্রদান করে।
  • স্টার্টার নির্ভরতা: এই বৈশিষ্ট্যটির সাহায্যে, স্প্রিং বুট সাধারণ নির্ভরতাগুলিকে একত্রিত করে এবং অবশেষে উত্পাদনশীলতা উন্নত করে।
  • স্বয়ংক্রিয়-কনফিগারেশন: স্প্রিং বুটের স্বয়ংক্রিয়-কনফিগারেশন বৈশিষ্ট্যগুলি আপনি যে প্রকল্পে কাজ করছেন সেই অনুযায়ী ডিফল্ট কনফিগারেশনগুলি লোড করতে সহায়তা করে।
  • লগিং এবং নিরাপত্তা: স্প্রিং বুটের এই বৈশিষ্ট্যটি নিশ্চিত করে যে স্প্রিং বুট ব্যবহার করে তৈরি সমস্ত অ্যাপ্লিকেশনগুলি কোনও ঝামেলা ছাড়াই সঠিকভাবে সুরক্ষিত।

16. মাভেন ব্যবহার করে কিভাবে স্প্রিং বুট অ্যাপ্লিকেশন তৈরি করতে হয় তা ব্যাখ্যা করুন।

ম্যাভেন ব্যবহার করে একটি স্প্রিং বুট অ্যাপ্লিকেশন তৈরি করার জন্য বিভিন্ন পদ্ধতি রয়েছে:

  • স্প্রিং বুট CLI
  • স্প্রিং বুট প্রজেক্ট উইজার্ড
  • স্প্রিং বুট ইনিশিয়ালাইজার
  • স্প্রিং মাভেন প্রজেক্ট

17. বাহ্যিক কনফিগারেশনের সম্ভাব্য উত্সগুলি উল্লেখ করুন।

বাহ্যিক কনফিগারেশনের সবচেয়ে সম্ভাব্য উৎস:

  • অ্যাপ্লিকেশন বৈশিষ্ট্য
  • কমান্ড লাইন বৈশিষ্ট্য
  • প্রোফাইল নির্দিষ্ট বৈশিষ্ট্য

18. একটি স্প্রিং বুট অ্যাপ্লিকেশন জাভা অ্যাপ্লিকেশন হিসাবে চালানো হলে পটভূমিতে কী ঘটে তা আপনি ব্যাখ্যা করতে পারেন?

যখন একটি স্প্রিং বুট অ্যাপ্লিকেশন জাভা অ্যাপ্লিকেশন হিসাবে চালান হিসাবে কার্যকর করা হয়, তখন এটি স্বয়ংক্রিয়ভাবে টমক্যাট সার্ভারটি চালু করে যে আপনি একটি ওয়েব অ্যাপ্লিকেশন তৈরি করছেন।

19. স্প্রিং বুট স্টার্টার কি এবং উপলব্ধ স্টার্টার কি কি?

স্প্রিং বুট স্টার্টার হল সুবিধাজনক নির্ভরতা ব্যবস্থাপনা প্রদানকারীর একটি সেট যা নির্ভরতা সক্ষম করতে অ্যাপ্লিকেশনে ব্যবহার করা যেতে পারে। এই স্টার্টারগুলি বিকাশকে সহজ এবং দ্রুত করে তোলে। সমস্ত উপলব্ধ স্টার্টার org.springframework.boot গ্রুপের অধীনে আসে।

  • স্প্রিং-বুট-স্টার্টার
  • স্প্রিং-বুট-স্টার্টার-জেডিবিসি
  • স্প্রিং-বুট-স্টার্টার-ওয়েব
  • স্প্রিং-বুট-স্টার্টার-ডেটা-জেপিএ
  • বসন্ত-বুট-স্টার্টার-নিরাপত্তা
  • স্প্রিং-বুট-স্টার্টার-এওপি
  • বসন্ত-বুট-স্টার্টার-পরীক্ষা
আরো দেখুন শীর্ষ 100 উত্তরযোগ্য ইন্টারভিউ প্রশ্ন এবং উত্তর

20. স্প্রিং অ্যাকচুয়েটর এবং এর সুবিধা ব্যাখ্যা কর।

স্প্রিং অ্যাকচুয়েটর হল স্প্রিং বুটের একটি বৈশিষ্ট্য যার সাহায্যে আপনি একটি চলমান অ্যাপ্লিকেশনের ভিতরে কী ঘটছে তা দেখতে পারেন।

স্প্রিং অ্যাকচুয়েটর প্রোডাকশন-রেডি REST পয়েন্টগুলিতে অ্যাক্সেস করার এবং ওয়েব থেকে সমস্ত ধরণের তথ্য আনার একটি খুব সহজ উপায় সরবরাহ করে।

এই পয়েন্টগুলি স্প্রিং সিকিউরিটির বিষয়বস্তু আলোচনার কৌশল ব্যবহার করে সুরক্ষিত করা হয়েছে।

টপ স্প্রিং বুট ইন্টারভিউ প্রশ্ন ও উত্তর

21. স্প্রিং বুট নির্ভরতা ব্যবস্থাপনা কি?

স্প্রিং বুট নির্ভরতা পরিচালন নির্ভরতা এবং কনফিগারেশন স্বয়ংক্রিয়ভাবে পরিচালনা করতে ব্যবহার করা হয় আপনি এই নির্ভরতার কোনটির জন্য সংস্করণ উল্লেখ না করেই।

22. একটি স্প্রিং বুট সিস্টেমের জন্য ন্যূনতম প্রয়োজনীয়তা উল্লেখ করুন।

স্প্রিং বুট 2.1.7. রিলিজ প্রয়োজন

  • জাভা 8+
  • স্প্রিং ফ্রেমওয়ার্ক 5.1.9+

স্পষ্ট বিল্ড সমর্থন

  • Maven 3.3+
  • গ্রেডেল 4.4+

সার্ভলেট কন্টেইনার সাপোর্ট

  • টমক্যাট 9.0 - সার্ভলেট সংস্করণ 4.0
  • জেটি 9.4- সার্ভলেট সংস্করণ 3.1
  • Undertow 2.0-Servlet সংস্করণ 4.0

23. থাইমেলিফ কী এবং কীভাবে থাইমেলিফ ব্যবহার করবেন?

থাইম পাতা হল একটি সার্ভার-সাইড জাভা টেমপ্লেট ইঞ্জিন যা ওয়েব অ্যাপ্লিকেশনের জন্য ব্যবহৃত হয়।

এটির লক্ষ্য আপনার ওয়েব অ্যাপ্লিকেশনের জন্য একটি প্রাকৃতিক টেমপ্লেট আনা এবং স্প্রিং ফ্রেমওয়ার্ক এবং HTML5 জাভা ওয়েব অ্যাপ্লিকেশনগুলির সাথেও একীভূত করতে পারে৷

org.springframework.boot

স্প্রিং-বুট-স্টার্টার-থাইমেলিফ

থাইমেলিফ কি

24. স্প্রিং বুট DevTools এর প্রয়োজন কি?

স্প্রিং বুট ডেভটুলস হল টুলের একটি বিশদ সেট এবং একটি অ্যাপ্লিকেশন তৈরির প্রক্রিয়াকে সহজ করে তোলার লক্ষ্য।

যদি অ্যাপ্লিকেশনটি উত্পাদনে চলে, তবে এই মডিউলটি স্বয়ংক্রিয়ভাবে অক্ষম হয়ে যায়, সংরক্ষণাগারগুলির পুনরায় প্যাকেজিংও ডিফল্টরূপে বাদ দেওয়া হয়।

সুতরাং, স্প্রিং বুট ডেভেলপার টুলস সংশ্লিষ্ট উন্নয়ন পরিবেশে বৈশিষ্ট্য প্রয়োগ করে।

|_+_|

25. স্প্রিং ইনিশিয়ালাইজার ব্যবহার করে একটি স্প্রিং বুট প্রকল্প তৈরি করার ধাপগুলি উল্লেখ করুন।

স্প্রিং ইনিশিয়ালাইজার হল স্প্রিং দ্বারা প্রদত্ত একটি ওয়েব টুল। এই টুলের সাহায্যে, আপনি স্প্রিং বুট প্রকল্প তৈরি করতে পারেন শুধুমাত্র প্রকল্পের বিবরণ প্রদান করে।

  • ম্যাভেন প্রকল্প এবং প্রয়োজনীয় নির্ভরতা নির্বাচন করুন। তারপর, গ্রুপ, আর্টিফ্যাক্টের মতো অন্যান্য প্রয়োজনীয় বিবরণ পূরণ করুন এবং তারপরে জেনারেট প্রজেক্টে ক্লিক করুন।
  • প্রকল্পটি ডাউনলোড হয়ে গেলে, আপনার সিস্টেমে প্রকল্পটি বের করুন।
  • এর পরে, আপনাকে স্প্রিং টুল স্যুট আইডিই-তে আমদানি বিকল্প ব্যবহার করে এই প্রকল্পটি আমদানি করতে হবে।

26. জেডিবিসি ব্যবহার করে একটি ডাটাবেসের সাথে স্প্রিং বুট অ্যাপ্লিকেশন সংযোগ করার পদক্ষেপগুলি উল্লেখ করুন।

স্প্রিং বুট স্টার্টার প্রকল্পগুলি JDBC এর সাথে অ্যাপ্লিকেশনটিকে সংযুক্ত করার জন্য প্রয়োজনীয় লাইব্রেরি সরবরাহ করে।

সুতরাং, উদাহরণস্বরূপ, যদি আপনাকে কেবল একটি অ্যাপ্লিকেশন তৈরি করতে হবে এবং এটির সাথে সংযোগ করতে হবে MYSQL ডাটাবেস , আপনি নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করতে পারেন:

ধাপ 1: MySQL এ একটি ডাটাবেস তৈরি করুন

|_+_|

ধাপ 2: এই ডাটাবেসের ভিতরে একটি টেবিল তৈরি করুন

|_+_|

ধাপ 3: একটি স্প্রিং বুট প্রকল্প তৈরি করুন এবং প্রয়োজনীয় বিবরণ প্রদান করুন

ধাপ 4: JDBC, MySQL এবং ওয়েব নির্ভরতা যোগ করুন

ধাপ 5: একবার প্রকল্পটি তৈরি হয়ে গেলে, আপনাকে অ্যাপ্লিকেশন বৈশিষ্ট্যগুলিতে ডাটাবেস কনফিগার করতে হবে।

|_+_|

ধাপ 6: প্রধান application.java ক্লাসে নিম্নলিখিত কোড থাকা উচিত:

|_+_|

ধাপ 7: আপনাকে HTTP অনুরোধগুলি পরিচালনা করার জন্য একটি নিয়ামক তৈরি করতে হবে, নিম্নলিখিত কোডটি উল্লেখ করে:

|_+_|

ধাপ 8: অবশেষে একটি জাভা অ্যাপ্লিকেশন হিসাবে এই প্রকল্পটি চালান।

ধাপ 9: URL খুলুন [localhost:8080/insert], এবং আপনি ডেটা এন্ট্রি সফল হিসাবে আউটপুট দেখতে পাবেন।

এছাড়াও আপনি এগিয়ে যেতে পারেন এবং টেবিলে ডেটা প্রবেশ করানো হয়েছে কিনা তা পরীক্ষা করতে পারেন।

27. স্প্রিং বুটে HTTP/2 সমর্থন কীভাবে সক্রিয় করবেন?

আপনি স্প্রিং বুটে HTTP/2 সমর্থন সক্ষম করতে পারেন:

server.http2.enabled=true

28. স্প্রিং বুটে @RequestMapping এবং @RestController টীকাগুলি কিসের জন্য ব্যবহৃত হয়?

@RequestMapping@রেস্ট কন্ট্রোলার
এই টীকাটি রাউটিং তথ্য প্রদান করতে ব্যবহার করা হয় এবং স্প্রিংকে বলে যে কোনো HTTP অনুরোধ সংশ্লিষ্ট পদ্ধতিতে ম্যাপ করা আবশ্যক।এই টীকাটি রাউটিং তথ্য প্রদান করতে ব্যবহার করা হয় এবং স্প্রিংকে বলে যে কোনো HTTP অনুরোধ সংশ্লিষ্ট পদ্ধতিতে ম্যাপ করা আবশ্যক।
এই টীকাটি ব্যবহার করতে, আপনাকে org.springframework.web.bind.annotation.RequestMapping আমদানি করতে হবে;এই টীকাটি ব্যবহার করতে, আপনাকে org.springframework.web.bind.annoation.RequestMapping আমদানি করতে হবে;

বিবেচনা করুন আপনার কাছে একটি পদ্ধতি উদাহরণ() আছে যা /উদাহরণ URL দিয়ে ম্যাপ করা উচিত।

|_+_|

29. স্প্রিং বুট সিএলআই কী এবং বুট সিএলআই ব্যবহার করে কীভাবে স্প্রিং বুট প্রজেক্ট চালানো যায়?

স্প্রিং বুট সিএলআই অফিসিয়াল স্প্রিং ফ্রেমওয়ার্ক দ্বারা সমর্থিত একটি টুল। একটি স্প্রিং বুট প্রকল্প চালানোর পদক্ষেপগুলি নিম্নরূপ:

  • অফিসিয়াল সাইট থেকে CLI টুলটি ডাউনলোড করুন এবং জিপ ফাইলটি বের করুন। স্প্রিং সেটআপে উপস্থিত বিন ফোল্ডারটি স্প্রিং বুট অ্যাপ্লিকেশন চালানোর জন্য ব্যবহৃত হয়।
  • যেহেতু স্প্রিং বুট সিএলআই গ্রোভি ফাইলগুলি চালায়, আপনাকে স্প্রিং বুট অ্যাপ্লিকেশনের জন্য একটি গ্রুভি ফাইল তৈরি করতে হবে। সুতরাং, এটি করতে, টার্মিনাল খুলুন এবং বর্তমান ডিরেক্টরিটি বিন ফোল্ডারে পরিবর্তন করুন।

নিম্নরূপ একটি নিয়ামক তৈরি করুন:

|_+_|

30. JPA এবং হাইবারনেটের মধ্যে পার্থক্য কী?

জেপিএহাইবারনেট
এটি একটি ডেটা অ্যাক্সেস অ্যাবস্ট্রাকশন যা বয়লারপ্লেট কোডের পরিমাণ কমাতে ব্যবহৃত হয়এটি জাভা পারসিস্টেন্স এপিআই এর একটি বাস্তবায়ন এবং লুজ কাপলিং এর সুবিধা প্রদান করে

টপ স্প্রিং বুট ইন্টারভিউ প্রশ্ন ও উত্তর

31. কিভাবে আমরা স্প্রিং বুট অ্যাকচুয়েটরে একটি কাস্টম এন্ডপয়েন্ট তৈরি করতে পারি?

Spring Boot 2.x-এ একটি কাস্টম এন্ডপয়েন্ট তৈরি করতে, আপনি @Endpoint টীকা ব্যবহার করতে পারেন।

আরো দেখুন শীর্ষ 100 উত্তরযোগ্য ইন্টারভিউ প্রশ্ন এবং উত্তর

স্প্রিং বুট স্প্রিং এমভিসি, জার্সি ইত্যাদির সাহায্যে HTTP এর উপর @WebEndpointor, @WebEndpointExtension ব্যবহার করে এন্ডপয়েন্টগুলিকেও প্রকাশ করে।

32. স্প্রিং ডেটা সম্পর্কে আপনি কী বোঝেন?

স্প্রিং ডেটার লক্ষ্য হল ডেভেলপারদের রিলেশনাল এবং অ-রিলেশনাল ডাটাবেস, ক্লাউড-ভিত্তিক ডেটা পরিষেবা এবং অন্যান্য ডেটা অ্যাক্সেস প্রযুক্তি ব্যবহার করা সহজ করা।

সুতরাং, মূলত, এটি ডেটা অ্যাক্সেসের জন্য সহজ করে তোলে এবং এখনও অন্তর্নিহিত ডেটা ধরে রাখে।

33. স্প্রিং বুটে স্বয়ংক্রিয় কনফিগারেশন সম্পর্কে আপনি কী বোঝেন?

স্বয়ংক্রিয়-কনফিগারেশন অ্যাপ্লিকেশনের জন্য প্রয়োজনীয় কনফিগারেশন স্বয়ংক্রিয়ভাবে কনফিগার করতে ব্যবহৃত হয়।

উদাহরণস্বরূপ, যদি আপনার অ্যাপ্লিকেশনের ক্লাসপথে একটি ডেটা উৎস বিন উপস্থিত থাকে, তাহলে এটি স্বয়ংক্রিয়ভাবে JDBC টেমপ্লেট কনফিগার করে।

স্বয়ংক্রিয় কনফিগারেশনের সাহায্যে, আপনি একটি সহজ উপায়ে একটি জাভা অ্যাপ্লিকেশন তৈরি করতে পারেন, কারণ এটি স্বয়ংক্রিয়ভাবে প্রয়োজনীয় বিন, কন্ট্রোলার ইত্যাদি কনফিগার করে।

34. @SpringBootApplication এবং @EnableAutoConfiguration টীকা-এর মধ্যে পার্থক্য কি?

স্প্রিংবুট অ্যাপ্লিকেশনঅটো কনফিগারেশন সক্ষম করুন
প্রধান শ্রেণী বা বুটস্ট্র্যাপ শ্রেণীতে ব্যবহৃত হয়আপনার প্রকল্পে স্বয়ংক্রিয়-কনফিগারেশন এবং উপাদান স্ক্যানিং সক্ষম করতে ব্যবহৃত হয়
এটি @Configuration, @ComponentScan এবং @EnableAutoConfiguration টীকাগুলির সংমিশ্রণএটি @কনফিগারেশন এবং @কম্পোনেন্টস্ক্যান টীকাগুলির সংমিশ্রণ

35. স্প্রিং বুট ওয়েব অ্যাপ্লিকেশনগুলিকে JAR এবং WAR ফাইল হিসাবে স্থাপন করার পদক্ষেপগুলি কী কী?

একটি স্প্রিং বুট ওয়েব অ্যাপ্লিকেশন স্থাপন করতে, আপনাকে pom.xml ফাইলে নিম্নলিখিত প্লাগইন যোগ করতে হবে, pom.xml-এ একটি প্লাগইন উপাদান যোগ করুন:

|_+_|

36. আপনি কি লেনদেন পরিচালনায় শুধুমাত্র ReadOnly-এর জন্য একটি উদাহরণ দিতে পারেন?

একটি দৃশ্যকল্প বিবেচনা করুন, যেখানে আপনাকে ডাটাবেস থেকে ডেটা পড়তে হবে।

উদাহরণ স্বরূপ, ধরুন আপনার কাছে একটি গ্রাহক ডাটাবেস আছে এবং আপনি গ্রাহকের বিশদ যেমন কাস্টমার আইডি, কাস্টমারের নাম এবং কাস্টমার ইমেইল আইডি পড়তে চান।

এটি করার জন্য আপনি লেনদেনে শুধুমাত্র পঠনযোগ্য সেট করবেন কারণ আমরা সত্তার পরিবর্তনগুলি পরীক্ষা করতে চাই না।

37. স্প্রিং বুট দিয়ে একটি ভিন্ন সার্ভারে কীভাবে স্থাপন করা যায় তা ব্যাখ্যা করতে পারেন?

স্প্রিং বুটের সাথে একটি ভিন্ন সার্ভার স্থাপন করতে, নীচের পদক্ষেপগুলি অনুসরণ করুন:

  • প্রকল্প থেকে একটি যুদ্ধ তৈরি করুন
  • আপনার প্রিয় সার্ভারে WAR ফাইলটি স্থাপন করুন

38. স্প্রিং বুট দিয়ে কাস্টম অ্যাপ্লিকেশন কনফিগারেশন প্রকাশ করার সর্বোত্তম উপায় কী?

স্প্রিং বুটে কাস্টম অ্যাপ্লিকেশন কনফিগারেশন প্রকাশ করার একটি উপায় হল @Value টীকা ব্যবহার করে।

কিন্তু, এই টীকাটির একমাত্র সমস্যা হল যে সমস্ত কনফিগারেশন মান সমস্ত অ্যাপ্লিকেশন জুড়ে বিতরণ করা হবে।

পরিবর্তে, আপনি একটি কেন্দ্রীভূত পদ্ধতি ব্যবহার করতে পারেন।

কেন্দ্রীভূত পদ্ধতির দ্বারা, আমি বলতে চাচ্ছি যে আপনি নিম্নরূপ @ConfigurationProperties ব্যবহার করে একটি কনফিগারেশন উপাদান সংজ্ঞায়িত করতে পারেন:

|_+_|

উপরের স্নিপেট অনুসারে, application.properties-এ কনফিগার করা মানগুলি নিম্নরূপ হবে:

উদাহরণ সংখ্যা: 100

example.value: সত্য

example.msg: গতিশীল বার্তা

39. আমরা কি স্প্রিং বুটে একটি নন-ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারি?

হ্যাঁ, আমরা একটি নন-ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারি ক্লাসপথ থেকে ওয়েব নির্ভরতাগুলি সরিয়ে স্প্রিং বুট অ্যাপ্লিকেশন প্রসঙ্গ তৈরি করার উপায় পরিবর্তন করে।

40. মাইএসকিউএল বা ওরাকলের মতো একটি বাহ্যিক ডাটাবেস সংযোগ করার পদক্ষেপগুলি কী কী?

একটি বাহ্যিক ডাটাবেস সংযোগ করতে, আপনাকে নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করতে হবে:

  • pom.xml-এ MySQL সংযোগকারীর নির্ভরতা যোগ করে শুরু করুন
  • তারপর pom.xml থেকে H2 নির্ভরতা মুছে ফেলুন
  • এখন, আপনার MySQL ডাটাবেস সেট আপ করুন এবং MySQL ডাটাবেসের সাথে আপনার সংযোগ কনফিগার করুন
  • আপনার প্রকল্প পুনরায় আরম্ভ করুন

টপ স্প্রিং বুট ইন্টারভিউ প্রশ্ন ও উত্তর

41. Properties ফাইলের তুলনায় YAML ফাইলের সুবিধা এবং স্প্রিং বুটে YAML ফাইল লোড করার বিভিন্ন উপায় উল্লেখ করুন।

একটি বৈশিষ্ট্য ফাইলের উপর YAML ফাইলের সুবিধা হল যে ডেটা একটি শ্রেণিবদ্ধ বিন্যাসে সংরক্ষণ করা হয়।

সুতরাং, কোন সমস্যা থাকলে ডেভেলপারদের ডিবাগ করা খুব সহজ হয়ে যায়। যখনই আপনি আপনার ক্লাসপথে SnakeYAML লাইব্রেরি ব্যবহার করেন তখনই SpringApplication ক্লাস বৈশিষ্ট্যগুলির বিকল্প হিসাবে YAML ফাইলগুলিকে সমর্থন করে।

স্প্রিং বুটে একটি YAML ফাইল লোড করার বিভিন্ন উপায় নিম্নরূপ:

  • একটি মানচিত্র হিসাবে YAML লোড করতে YamLMapFactoryBean ব্যবহার করুন
  • বৈশিষ্ট্য হিসাবে YAML লোড করতে YamLPpropertiesFactoryBean ব্যবহার করুন

42. কোন কনফিগারেশন ছাড়াই কীভাবে হাইবারনেটকে JPA-এর জন্য ডিফল্ট বাস্তবায়ন হিসাবে বেছে নেওয়া হয়?

যখন আমরা স্প্রিং বুট অটো কনফিগারেশন ব্যবহার করি, তখন স্বয়ংক্রিয়ভাবে spring-boot-starter-data-jpa নির্ভরতা pom.xml ফাইলে যোগ হয়ে যায়।

এখন, যেহেতু এই নির্ভরতা JPA এবং হাইবারনেটের উপর একটি ট্রানজিটিভ নির্ভরতা রয়েছে, স্প্রিং বুট স্বয়ংক্রিয়ভাবে হাইবারনেটকে JPA-এর জন্য ডিফল্ট বাস্তবায়ন হিসাবে স্বয়ংক্রিয়ভাবে কনফিগার করে, যখনই এটি ক্লাসপথে হাইবারনেট দেখে।

43. স্প্রিং ডেটা REST সম্পর্কে আপনি কী বোঝেন?

স্প্রিং ডেটা REST ব্যবহার করা হয় স্প্রিং ডেটা রিপোজিটরির চারপাশে RESTful সংস্থানগুলিকে প্রকাশ করতে।

নিম্নলিখিত উদাহরণ বিবেচনা করুন:

|_+_|

44. কোন স্তরে, একটি লেনদেনের সীমানা শুরু করা উচিত?

লেনদেনের সীমানা পরিষেবা স্তর থেকে শুরু হওয়া উচিত কারণ ব্যবসায়িক লেনদেনের যুক্তি এই স্তরেই উপস্থিত রয়েছে৷

45. স্প্রিং ডেটা রেস্টের সাথে path=sample, collectionResourceRel=samplework কি করে?

|_+_|
  • পথ - এই বিভাগটি সেগমেন্ট উল্লেখ করতে ব্যবহৃত হয় যার অধীনে সম্পদ রপ্তানি করা হবে।
  • collectionResourceRel: এই মানটি সংগ্রহের সংস্থানের লিঙ্ক তৈরি করতে ব্যবহৃত হয়।

46. ​​একটি কাস্টম স্বয়ংক্রিয় কনফিগারেশন কিভাবে নিবন্ধন করতে হয় তা ব্যাখ্যা করুন।

একটি স্বয়ংক্রিয়-কনফিগারেশন ক্লাস নিবন্ধন করার জন্য, আপনাকে @EnableAutoConfiguration কী META-INF/spring.factories ফাইলের অধীনে সম্পূর্ণ-যোগ্য নাম উল্লেখ করতে হবে।

এছাড়াও যদি আমরা ম্যাভেন দিয়ে তৈরি করি, তাহলে এই ফাইলটি রিসোর্স/মেটা-আইএনটি ডিরেক্টরিতে স্থাপন করা উচিত।

47. লগিং এর জন্য আপনি কিভাবে Log4j কনফিগার করবেন?

যেহেতু স্প্রিং বুট একটি কনফিগারেশন লগ করার জন্য Log4j2 সমর্থন করে, তাই আপনাকে লগব্যাক বাদ দিতে হবে এবং লগিং করার জন্য Log4j2 অন্তর্ভুক্ত করতে হবে। আপনি স্টার্টার প্রকল্প ব্যবহার করলেই এটি করা যেতে পারে।

48. WAR এবং এমবেডেড পাত্রের মধ্যে পার্থক্য উল্লেখ করুন।

যুদ্ধএমবেডেড পাত্রে
WAR স্প্রিং বুট থেকে যথেষ্ট পরিমাণে উপকৃত হয়স্প্রিং বুটের শুধুমাত্র একটি উপাদান উন্নতির সময়

49. স্প্রিং বুটের সাথে একটি কাস্টম JS কোড যোগ করার পদক্ষেপগুলি কী কী?

স্প্রিং বুটের সাথে একটি কাস্টম JS কোড যোগ করার পদক্ষেপগুলি নিম্নরূপ:

  • রিসোর্স ফোল্ডারের অধীনে স্ট্যাটিক নামে একটি ফোল্ডার তৈরি করুন
  • এই ফোল্ডারে, আপনি ফোল্ডারে স্ট্যাটিক বিষয়বস্তু রাখতে পারেন

দ্রষ্টব্য: যদি ব্রাউজার একটি অননুমোদিত ত্রুটি ছুড়ে দেয়, আপনি হয় নিরাপত্তা অক্ষম করুন বা লগ ফাইলে পাসওয়ার্ড অনুসন্ধান করুন এবং অবশেষে অনুরোধ শিরোনামে পাস করুন৷

50. যখন একটি মটরশুটি বিদ্যমান থাকে তখন কীভাবে একটি স্বয়ংক্রিয় কনফিগারেশনকে ব্যাক অফ করার নির্দেশ দেওয়া যায়?

একটি স্বয়ংক্রিয়-কনফিগারেশন ক্লাসকে নির্দেশ দেওয়ার জন্য যখন একটি মরীচি প্রস্থান করে তখন আপনাকে @ConditionalOnMissingBean টীকাটি ব্যবহার করতে হবে।

এই টীকাটির বৈশিষ্ট্যগুলি নিম্নরূপ:

  • মান: এই বৈশিষ্ট্যটি চেক করা মটরশুটির প্রকার সংরক্ষণ করে
  • নাম: এই বৈশিষ্ট্যটি চেক করা মটরশুটির নাম সংরক্ষণ করে