<এমভিসি: টিকা-চালিত /> এবং সার্লেলে <প্রসঙ্গ: টিকা-কনফিগারেশন /> এর মধ্যে পার্থক্য কী?


155

আমি স্প্রিং 2.5 থেকে স্প্রিং 3 তে মাইগ্রেশন করছি।

তারা চালু করেছে <mvc:annotation-driven />যা কিছু কালো যাদু করে। এটি কেবলমাত্র সার্লেট কনফিগারেশন ফাইলেই ঘোষণা করা হবে।

স্প্রিং 2.5 এ আমি সবেমাত্র ব্যবহার করেছি <context:annotation-config />এবং <context:component-scan base='...'/>ট্যাগগুলি application-context.xmlস্ক্যানের জন্য উপযুক্ত বেস প্যাকেজগুলির সাথে সার্ভলেট কনফিগারেশন এক্সএমএল উভয়ই ইন এবং প্রেরণকারী হিসাবে ঘোষণা করে ।

তাই আমি ভাবছি সার্ভলেট কনফিগারেশনের মধ্যে ট্যাগ mvc:annotation-drivenএবং context:annotation-configট্যাগগুলির মধ্যে পার্থক্য কী এবং আমি স্প্রিং 3 কনফিগার ফাইলগুলিতে কী দূর করতে পারি?

উত্তর:


150

<context:annotation-config>যেমন সাধারণ টীকা সমর্থন ঘোষণা করে @Required, @Autowired, @PostConstruct, ইত্যাদি।

<mvc:annotation-driven />টীকা-চালিত এমভিসি নিয়ন্ত্রণকারীদের (যেমন @RequestMapping, @Controllerযদিও এটির জন্য পূর্বনির্ধারিত আচরণ) সমর্থন করার পাশাপাশি স্পষ্টভাবে সমর্থন সমর্থন করে @Validএবং @RequestBody/ দিয়ে ম্যাসেজের বডি মার্শেলিংয়ের মাধ্যমে ঘোষিত বৈধতার জন্য সমর্থন যোগ করে ResponseBody


3
আমি কি প্রসঙ্গটি ঘোষণা করব: অ্যাপ্লিকেশন কনটেক্সট এবং সার্লেট উভয় ক্ষেত্রে টিকা-কনফিগার, বিশেষত যদি আমি উপাদান-স্ক্যান ট্যাগে বিভিন্ন বেস প্যাকেজ ব্যবহার করি?
glaz666

2
হ্যাঁ, আপনার <context:annotation-config>প্রতিটি প্রসঙ্গে প্রয়োজন ।
skaffman

61
@ স্কাফম্যান: <mvc:annotation-driven>অর্থহীন নয়, এটির নামটি সঠিকভাবে দেওয়া হয়নি। আসলে এটা কনফিগার নতুন স্প্রিং MVC জন্য সমর্থন যেমন সঙ্গে ঘোষণামূলক বৈধতা যেমন অতিরিক্ত বৈশিষ্ট্যগুলিও উপস্থিত রয়েছে @Valid, সঙ্গে HTTP- র বার্তা রূপান্তর @RequestBody/ @ResponseBodyনতুন ক্ষেত্র রূপান্তর স্থাপত্য, ইত্যাদি
axtavt

5
@Richards: সাধারণত হ্যাঁ, দেখতে blog.springsource.com/2009/12/21/...
axtavt

7
এই উত্তরটি স্পষ্টত ভুল, এমভিসি হিসাবে: টীকাগুলি-চালিত রূপান্তর এবং বৈধতার জন্য গুরুত্বপূর্ণ। এখানে কেবলমাত্র সঠিক এবং সার্থক জিনিসটি হ'ল @ অ্যাক্সট্যাভেটের মন্তব্য।
কনরাড গারাস

36

এছাড়া ব্যবহারের উপর আরো কিছু বিস্তারিত <mvc:annotation-driven />মধ্যে স্প্রিং ডক্স । সংক্ষেপে, <mvc:annotation-driven />আপনাকে স্প্রিং এমভিসির অভ্যন্তরীণ কাজের উপর আরও বেশি নিয়ন্ত্রণ দেয়। ডক্সের পূর্বোক্ত বিভাগে বর্ণিত এক বা একাধিক বৈশিষ্ট্যগুলির প্রয়োজন না হলে আপনার এটি ব্যবহার করার দরকার নেই।

এছাড়াও, অন্যান্য স্প্রিং মডিউলগুলিতে অতিরিক্ত কার্যকারিতা সরবরাহ করতে অন্যান্য "টিকাশ চালিত" ট্যাগগুলি উপলব্ধ। উদাহরণস্বরূপ, <transaction:annotation-driven />@ লেনদেন টীকাটি সক্ষম করে, @ <task:annotation-driven />নির্ধারিত এট আল এর জন্য প্রয়োজনীয় ...


আমি xML এ সেটিংসের সেট দেখতে চাই যা এই ট্যাগের মতো similar আমি একবার বহু আগে এই উদাহরণটি নিয়ে এসেছি কিন্তু এটি অসম্পূর্ণ ছিল, আফার।
glaz666

7

এমভিসি: টিকা-চালিত একটি স্প্রিং 3.0 এ যুক্ত একটি ট্যাগ যা নিম্নলিখিতগুলি করে:

  1. স্প্রিং 3 ধরণের রূপান্তর পরিষেবা (সম্পত্তি সংস্থানকারীদের বিকল্প) কনফিগার করে
  2. @ সংখ্যাফর্ম্যাট সহ নম্বর ক্ষেত্রগুলি বিন্যাস করার জন্য সমর্থন যোগ করে
  3. জোদা সময় ক্লাসপথে থাকলে, তারিখ, ক্যালেন্ডার এবং জোডা টাইম ক্ষেত্রগুলি @ তারিখটাইমফোর্ম্যাট সহ ফর্ম্যাট করার জন্য সমর্থন যোগ করে
  4. কোনও জেএসআর -303 সরবরাহকারী যদি ক্লাসপথে থাকে তবে @ ভালিডের সাথে @ কনট্রোলার ইনপুটগুলি বৈধ করার জন্য সমর্থন যোগ করে
  5. এক্সএলএমএল পড়ার এবং লেখার জন্য সমর্থন যোগ করে, যদি জেএক্সবি ক্লাসপথে থাকে (@ রিকোস্টবডি / @ রেসপন্সবডি সহ HTTP বার্তা রূপান্তর)
  6. জ্যাকসন ক্লাসপথে থাকলে (# 5 এর মতো একই লাইনে) জেএসএন পড়তে এবং লেখার জন্য সমর্থন যোগ করে

প্রসঙ্গ: এনোটেশন-কনফিগার একই অ্যাপ্লিকেশন প্রসঙ্গে শিমের উপর টীকাগুলির জন্য এটির সংজ্ঞা দেওয়া হয় এবং এটি সাধারণ অ্যানোটেশন যেমন @ অটোভায়ার্ড, @ রিসোর্স, @ প্রয়োজনীয়, @ পোষ্টকনস্ট্রাক্ট ইত্যাদির জন্য সমর্থন ঘোষণা করে etc.



সুতরাং আপনি বলতে চাচ্ছেন, যদি আমার @Autowired, @Resource, @Required, @PostConstruct এবং যদি @RequestBody, @ResponseBodyএই সমস্ত টিকা-র প্রয়োজন হয় তবে mvc:annotation-driven context:annotation-configআমার কনফিগারেশনে এই দুটি ট্যাগ যুক্ত করতে হবে ?
আর ধাওয়াল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.