โครงสร้างไฟล์ Mavenอาจช่วยให้กับเรื่องนี้
ในสาระสำคัญแฟ้มการกำหนดค่าฤดูใบไม้ผลิ (ที่สามารถมีชื่อใด ๆ โดยวิธีการที่ไม่ได้เป็นเพียงทั่วไปapplicationContext.xml
) จะถือว่าเป็นทรัพยากร classpath src/main/resources
และยื่นใต้ ในระหว่างกระบวนการสร้างสิ่งเหล่านี้จะถูกคัดลอกไปยังWEB-INF/classes
ไดเรกทอรีซึ่งเป็นตำแหน่งปกติสำหรับไฟล์เหล่านี้เพื่อสิ้นสุด
รูปแบบรวมถึงspring
ไดเรกทอรีเพิ่มเติม(เช่นsrc/main/resources/spring
) เพื่อแยกบริบท Spring จากทรัพยากรอื่น ๆ ที่อุทิศให้กับกรอบงานของแอปพลิเคชัน คุณอาจต้องการแยกบริบทของแอปพลิเคชันออกเป็นเลเยอร์เฉพาะเช่น:
example-servlet.xml
example-data.xml
example-security.xml
และอื่น ๆ
สิ่งที่เกี่ยวกับสภาพแวดล้อมที่แตกต่างกันเช่น dev / ทดสอบ / การผลิต?
โดยทั่วไปการกำหนดค่าสปริงของคุณควรเลือกการกำหนดค่าสภาพแวดล้อมจาก, ahem, สภาพแวดล้อม โดยทั่วไปหมายถึงการใช้ JNDI, JDBC, ตัวแปรสภาพแวดล้อมหรือไฟล์คุณสมบัติภายนอกเพื่อจัดเตรียมการกำหนดค่าที่จำเป็น ฉันแสดงรายการตามลำดับที่ต้องการเนื่องจากโดยทั่วไป JNDI จะจัดการได้ง่ายกว่าไฟล์คุณสมบัติภายนอกในคลัสเตอร์ที่ใช้งานจริงที่มีการควบคุม
ในกรณีของการทดสอบการรวมคุณอาจต้องใช้ไฟล์การกำหนดค่าแบบ "ทดสอบอย่างเดียว" ในฤดูใบไม้ผลิ นี้จะมีบริบทพิเศษที่ใช้ทดสอบถั่วหรือการกำหนดค่า สิ่งเหล่านี้จะอยู่ภายใต้ src / test / resources และอาจมีtest-
คำนำหน้าเพื่อให้แน่ใจว่านักพัฒนาตระหนักถึงวัตถุประสงค์ของพวกเขา การใช้งานทั่วไปคือการจัดหาแหล่งข้อมูลที่ไม่ใช่ JNDI บางทีอาจกำหนดเป้าหมายไปยังฐานข้อมูล HSQLDB ในระหว่างการทดสอบอัตโนมัติแบบบิลด์และจะอ้างอิงภายในกรณีทดสอบ
อย่างไรก็ตามโดยทั่วไปแล้วไฟล์บริบทสปริงส่วนใหญ่ของคุณไม่จำเป็นต้องมีการปรับเปลี่ยนแบบพิเศษเนื่องจากจะย้ายไปมาระหว่างเทียร์ ควรเป็นกรณีที่มีการสร้างสิ่งประดิษฐ์เดียวกัน (เช่นไฟล์ WAR) ใน dev / ทดสอบ / การผลิตเพียงแค่มีข้อมูลประจำตัวที่แตกต่างกัน