คำถามที่เกี่ยวข้องกับเฟรมเวิร์ก Java EE Spring

โอเค มันยาวและมีคำถามโง่ๆ มากมาย เพราะว่าฉันเป็นมือใหม่ที่โง่เขลา

ฉันเป็นนักพัฒนาคนเดียวที่ทำงานในโครงการ (Java Web App) และฉันค่อนข้างใหม่กับ Java ฉันยังใหม่กว่าใน Spring Framework ฉันได้จัดการเพื่อเขียนโปรเจ็กต์ขนาดเล็กที่ใช้เซิร์ฟเล็ตหนึ่งตัวและ jsp บางตัวในการตรวจสอบผู้ใช้กับฐานข้อมูลและกำหนดเส้นทางพวกเขาไปยังหน้ายินดีต้อนรับหรือหน้าแสดงข้อผิดพลาดตามข้อมูลรับรองการเข้าสู่ระบบ ฉันมาถึงจุดนี้แล้ว แต่มันเป็นเพียงจุดเริ่มต้นของสิ่งที่แอปพลิเคชันนี้จะทำอย่างแน่นอน สิ่งสำคัญที่สุดคือฉันไม่ได้ใช้สปริงเลย

ฉันเข้าใจว่าการเรียนรู้ Spring Framework เป็นที่สนใจของฉันหากฉันต้องออกแบบแอปพลิเคชันระดับองค์กร Java EE เพราะมันทำให้หลาย ๆ อย่างง่ายขึ้น ในภารกิจนั้น ฉันจึงไปที่บทช่วยสอนบนเว็บไซต์นี้:

http://spring.io/guides/gs/serving-web-content/

เพื่อที่จะทำการเรียนรู้บางอย่าง ฉันตระหนักได้อย่างรวดเร็วว่าตัวอย่างทั้งหมดของพวกเขามีสคริปต์ Maven หรือ Gradle สำหรับการขึ้นต่อกันและสำหรับการสร้าง ดังนั้น ฉันคิดว่าไม่นะ ตอนนี้ฉันต้องเรียนรู้เกี่ยวกับหนึ่งในเครื่องมือสร้างเหล่านี้หากฉันจำเป็นต้องใช้ Spring Framework ด้วยความรู้ที่จำกัดและการอ่านข้อมูล ฉันจึงเลือก Gradle เมื่อฉันเริ่มเข้าใจว่ามันเป็นเครื่องมือสร้างรุ่นล่าสุดในกลุ่ม Ant->Maven->Gradle ดังนั้น ฉันคิดว่า Gradle คือสิ่งที่ฉันควรลงทุนเวลาไป

อย่างไรก็ตาม เมื่อฉันเริ่มทำงานกับบทช่วยสอน Spring ข้างต้น ฉันตระหนักได้อย่างรวดเร็วว่าพวกเขากำลังทำสิ่งนี้ที่บรรทัดคำสั่ง ไม่ใช่บน IDE นั่นทำให้ฉันสับสนมากยิ่งขึ้นเพราะฉันคิดว่าทำไมใครๆ ก็ใช้บรรทัดคำสั่งในโลกปัจจุบันที่เต็มไปด้วย IDE ที่มีความสามารถ ฉันติดตั้ง Eclipse (plain vanilla + Spring Tool Suite) ไว้แล้ว ดังนั้นฉันคิดว่าจะทำสิ่งนี้บน Eclipse แทน นั่นคือสิ่งที่ความสับสนของฉันพุ่งสูงขึ้น

สำหรับผู้เริ่มต้น ฉันไม่รู้ว่าจะเริ่มด้วยเทมเพลตโครงการประเภทใด มันควรจะเป็น "โครงการเว็บแบบไดนามิกหรือไม่" ไม่ต้องรอ มันต้องเป็นเทมเพลต Spring ใช่ไหม? ไม่อย่างนั้นทำไมฉันถึงต้องเจอปัญหาในการเพิ่ม Spring Tool Suite และรับเทมเพลตใหม่ทั้งหมดนี้ ตกลง ฉันจึงเลือกเทมเพลต Spring ฉันรู้อย่างรวดเร็วว่าฉันมีตัวเลือกในการนำเข้าบทช่วยสอน Spring MVC ที่ฉันทำใน Eclipse ดังนั้นฉันจึงทำอย่างนั้น สับสนมากขึ้น ตอนนี้ฉันรู้แล้วว่าหากฉันคลิกขวาที่โปรเจ็กต์ตัวอย่างที่นำเข้า จะไม่มีตัวเลือก "Run on server" ในเมนู "Run as" อีกต่อไป ฉันคิดว่าทำไมมันถึงหายไป? ฉันคงเลือกเทมเพลตโครงการผิด แต่เดี๋ยวก่อน ฉันเลือกเทมเพลตผิดไม่ได้เพราะฉันนำเข้าโปรเจ็กต์ทั้งหมดจากเว็บไซต์ Spring โอ้ยพี่ปวดหัวจังเลย หลังจากที่คิดอยู่พักหนึ่ง ฉันก็จำได้.....โอ้ ใช่ พวกเขาพูดถึง Gradle และฉันก็ดาวน์โหลดมันไปแล้วและตั้งค่าตัวแปรสภาพแวดล้อม Path ของฉัน ดังนั้นฉันจะใช้ Gradle เพื่อสร้างและรันโปรเจ็กต์นี้ ตกลงตอนนี้ฉันจะเรียกใช้ Gradle จากภายใน Elipse ได้อย่างไร การอ่านเพิ่มเติมบอกฉันว่าฉันต้องมี Eclipse Gradle Integration ดังนั้นฉันจึงดาวน์โหลดปลั๊กอินนั้นลงใน eclipse ตอนนี้ในเมนูคลิกขวาของฉัน ฉันมีตัวเลือก "Gradle" และ "Gradle..." แต่ก็ยังไม่มี "Run on server" เพื่อน ทำไมมันซับซ้อนขนาดนี้ ฉันเป็นมือใหม่เพียงแค่พยายามเรียกใช้โปรเจ็กต์ Spring MVC บทช่วยสอน อย่างไรก็ตาม ฉันเลือก "Gradle" จากตัวเลือก "run as" และฉันเห็นว่า Gradle พิมพ์สิ่งต่าง ๆ มากมายในคอนโซล Eclipse เหมือนตอนที่มันเริ่มคอนเทนเนอร์เซิร์ฟเล็ตแบบฝังและสิ่งที่ดีอื่น ๆ แต่ฉันไม่เห็นมีอะไรเกิดขึ้นอีก ฉันคาดว่าเว็บเบราว์เซอร์แบบฝัง Eclipse จะแสดง "Hello world" แต่เดี๋ยวก่อน นี่ไม่ใช่โครงการเว็บเพราะไม่มีโฟลเดอร์ Web-Inf ในลำดับชั้น ดังนั้นทำไมฉันจึงเห็นเบราว์เซอร์...โอเค แต่ฉันไม่เห็น "hello world" ในคอนโซลด้วย โครงการดำเนินการอยู่ที่ไหน? ฮ่าฮ่า..ในที่สุดฉันก็เปิดตัวเบราว์เซอร์ Chrome ของตัวเองและชี้ไปที่ URL ของโฮสต์ท้องถิ่นและเกียรติยศ ฉันเห็น "สวัสดีชาวโลก"

ฉันใช้เวลาสองวันครึ่งในการเล่นเพื่อหาคำตอบทั้งหมดจนถึงจุดนี้ อย่างที่คุณเห็น ความเข้าใจของฉันยังอยู่ในช่วงเริ่มต้นเกี่ยวกับสิ่งเหล่านี้ และฉันต้องการคำตอบบางคำถาม หากคุณต้องการสร้างเว็บแอปพลิเคชัน Java และฉันเป็นนักพัฒนาเพียงคนเดียว:

  1. ฉันจำเป็นต้องมีเครื่องมือสร้างหรือไม่? ฉันคิดว่านี่สำหรับทีม
  2. ถ้าเป็นเช่นนั้น Gradle โอเคไหม?
  3. เทมเพลต Eclipse ใดที่จะเริ่มต้นด้วย
  4. บทเรียน Spring MVC อื่น ๆ ที่ฉันเห็นทางออนไลน์เหมือนกับบทเรียนจาก Tutorialspoint มี jsp's และเป็นแบบเว็บ (และไม่ใช่แค่บรรทัดคำสั่ง) บทช่วยสอนเหล่านั้นขอให้คุณนำเข้าขวดบางอัน (Spring และขวดที่เกี่ยวข้อง เช่น การบันทึกทั่วไป) เข้าสู่โปรเจ็กต์ ณ จุดใดจุดหนึ่ง คนพวกนี้รู้ได้อย่างไรว่าพวกเขาต้องการขวดสปริงอันไหน? มาจากประสบการณ์หรือมีแหล่งอื่นสำหรับความรู้นี้หรือไม่? ฉันคิดว่าการจัดการการพึ่งพานี้เป็นจุดที่ความต้องการเครื่องมือสร้างทั้งหมดเข้ามาและนั่นคือสิ่งที่ Gradle จะจัดการให้ฉัน ไม่เป็นไร ฉันไม่รู้ว่าจะขอให้ Gradle ทำสิ่งนั้นได้อย่างไร
  5. เมื่อฉันเริ่มโปรเจ็กต์และเริ่มใช้ Spring ทีละน้อย ฉันจะรู้ได้อย่างไรว่าฉันต้องการขวดเพิ่มเติมใดบ้างในบางจุด

ขอขอบคุณที่อ่านจนถึงบรรทัดนี้และขอขอบคุณสำหรับความช่วยเหลือของคุณ


person Community    schedule 27.04.2014    source แหล่งที่มา


คำตอบ (1)


ฉันจำเป็นต้องมีเครื่องมือสร้างหรือไม่? ฉันคิดว่านี่สำหรับทีม

ใช่ คุณต้องการเมื่อคุณทำงานกับโปรเจ็กต์ขนาดใหญ่ซึ่งต้องใช้ jar คลาส และไฟล์การกำหนดค่าจำนวนมากเพื่อรันแอปพลิเคชัน โดยใช้เครื่องมือสร้างที่จะดูแลสิ่งเหล่านี้ทั้งหมด เครื่องมือสร้างจะช่วยประหยัดเวลาในการพิมพ์คำสั่ง ดังที่คุณอาจเดาได้ การใช้บรรทัดคำสั่งนั้นไม่สมเหตุสมผลหากคุณมีโมดูลซอร์สโค้ดจำนวนมาก และควรคอมไพล์และลิงก์ตามลำดับเฉพาะ

คุณบอกว่าคุณเป็นนักพัฒนาคนเดียว ดังนั้นเครื่องมือสร้างจึงเป็นเพียงค่าใช้จ่าย

ถ้าเป็นเช่นนั้น Gradle โอเคไหม?

Ok.

เทมเพลต Eclipse ใดที่จะเริ่มต้นด้วย

โครงการเว็บแบบไดนามิก

บทช่วยสอน Spring MVC อื่น ๆ .... คนเหล่านี้รู้ได้อย่างไรว่าพวกเขาต้องการขวดสปริงตัวไหน .....

เมื่อคุณจะพัฒนาเว็บแอปพลิเคชันด้วย Spring คุณจะต้องมีไฟล์ jar เช่น: spring-core.jar, spring-web.jar, spring-webmvc.jar เป็นต้น เหมือนกันเมื่อคุณต้องการ ORM Framework ใด ๆ เช่น hibernate จากนั้นคุณจะต้องเพิ่มไฟล์ jar ที่เกี่ยวข้องกับไฮเบอร์เนตในพาธการบิลด์โปรเจ็กต์ เมื่อคุณอ่านบทช่วยสอนบางบท บทช่วยสอนเหล่านั้นจะแสดงรายการเหมือนว่าอะไรคือ jar หรือการพึ่งพาที่คุณต้องเพิ่ม

เมื่อฉันเริ่มโปรเจ็กต์และเริ่มใช้ Spring ทีละน้อย ฉันจะรู้ได้อย่างไรว่าฉันต้องการขวดเพิ่มเติมใดบ้างในบางจุด

ขึ้นอยู่กับคุณว่าต้องใช้เฟรมเวิร์กใดเพิ่มเติมในแอปพลิเคชันของคุณ จากนั้น คุณควรทำให้การขึ้นต่อกัน (ไฟล์ jar) ของเฟรมเวิร์กทั้งหมดพร้อมใช้งานกับพาธการสร้างโปรเจ็กต์ของคุณ

person Abhishek Nayak    schedule 27.04.2014
comment
ขอบคุณมากสำหรับทุกคำตอบของคุณ ฉันซาบซึ้งมากที่คุณแนะนำฉัน - person ; 03.05.2014