คำถามติดแท็ก spring

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

16
การกำหนดค่า XML เทียบกับการกำหนดค่าตามคำอธิบายประกอบ [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบพร้อมข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ในโครงการขนาดใหญ่สองสามโครงการที่ฉันได้ดำเนินการเมื่อไม่นานมานี้ดูเหมือนว่าการเลือกโครงการใดโครงการหนึ่ง (XML หรือ Annotation) มีความสำคัญมากขึ้น เมื่อโครงการเติบโตขึ้นความสม่ำเสมอเป็นสิ่งสำคัญมากสำหรับการบำรุงรักษา คำถามของฉันคืออะไรคือข้อดีของการกำหนดค่าที่ใช้ XML เหนือการกำหนดค่าตามคำอธิบายประกอบและอะไรคือข้อดีของการกำหนดค่าตามคำอธิบายประกอบผ่านการกำหนดค่าตาม XML
132 java  xml  spring  annotations 

2
ความแตกต่างระหว่าง Save และ saveAndFlush ใน Spring data jpa
ฉันพยายามเรียนรู้ข้อมูลสปริง JPA โดยทดสอบการทำงานของ CRUD ผ่านทางJpaRepository. ฉันเจอสองวิธีsaveและsaveAndFlush. ฉันไม่เข้าใจความแตกต่างระหว่างสองสิ่งนี้ ในการโทรsaveการเปลี่ยนแปลงของฉันกำลังได้รับการบันทึกลงในฐานข้อมูลดังนั้นการใช้saveAndFlushไฟล์.

29
ไม่สามารถกำหนดค่าแหล่งข้อมูล: ไม่ได้ระบุแอตทริบิวต์ "url" และไม่สามารถกำหนดค่าแหล่งข้อมูลในตัวได้
ฉันกำลังทำงานกับตัวอย่างSpring Boot Batchกับ MongoDB และฉันได้เริ่มmongodเซิร์ฟเวอร์แล้ว เมื่อฉันเปิดแอปพลิเคชันฉันได้รับข้อผิดพลาดด้านล่าง คำแนะนำสำหรับปัญหานี้หรือไม่? *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you want an embedded database (H2, …

1
คุณสมบัติ spring.jpa.hibernate.ddl-auto ทำงานอย่างไรใน Spring
ฉันกำลังทำงานกับโปรเจ็กต์ Spring boot ของฉันและสังเกตเห็นว่าบางครั้งมีข้อผิดพลาดการหมดเวลาการเชื่อมต่อไปยังฐานข้อมูลของฉันบนเซิร์ฟเวอร์อื่น (SQL Server) สิ่งนี้เกิดขึ้นเป็นพิเศษเมื่อฉันพยายามย้ายสคริปต์บางอย่างด้วยFlyWayแต่มันใช้งานได้หลังจากพยายามหลายครั้ง จากนั้นฉันสังเกตว่าฉันไม่ได้ระบุ spring.jpa.hibernate.ddl-autoในไฟล์คุณสมบัติของฉัน ฉันได้ทำการวิจัยและพบว่ามีการแนะนำให้เพิ่ม spring.jpa.hibernate.ddl-auto= create-dropการพัฒนา และเปลี่ยนเป็น: spring.jpa.hibernate.ddl-auto= noneในการผลิต แต่ฉันไม่เข้าใจจริงๆว่ามันทำงานอย่างไรและไฮเบอร์เนตสร้างสคีมาฐานข้อมูลโดยใช้create-dropหรือnoneค่าได้อย่างไร คุณช่วยอธิบายในทางเทคนิคได้ไหมว่ามันทำงานอย่างไรและคำแนะนำสำหรับการใช้คุณสมบัตินี้ในการพัฒนาและบนเซิร์ฟเวอร์ที่ใช้งานจริงคืออะไร ขอบคุณ

3
Spring Data JPA แตกต่างจาก Hibernate สำหรับโครงการขนาดใหญ่อย่างไร
ฉันมีช่วงเวลาที่ยากลำบากในการตัดสินใจว่าควรใช้ Hibernate สำหรับโปรเจ็กต์ใหม่หรือไม่หรือทำให้เท้าเปียกด้วย JPA และการนำ Spring Data มาใช้ Spring Data framework มีไว้สำหรับโครงการขนาดใหญ่หรือโครงการขนาดเล็กที่มีข้อกำหนดการสืบค้นเพียงเล็กน้อยหรือไม่ ในขณะที่ฉันเห็นข้อได้เปรียบในการลดโค้ดโดยใช้@Queryคำอธิบายประกอบคุณจะทำอย่างไรสำหรับการสืบค้นแบบไดนามิก ถ้าคุณต้องการใช้เมธอด save () ที่ค่อนข้างซับซ้อนล่ะ? เอกสารระบุว่าให้สร้างอินเทอร์เฟซแบบกำหนดเองและการใช้งานที่ที่เก็บหลักของคุณใช้ แต่ถ้าคุณต้องการเข้าถึงวิธีการขั้นสูงใด ๆ บนที่เก็บ crud เองล่ะ? ที่เก็บ crud ใช้ที่เก็บแบบกำหนดเองไม่ใช่ในทางอื่น ดูเหมือนเป็นการออกแบบที่แปลก ฉันไม่แน่ใจมากว่าเฟรมเวิร์กนี้จะตอบสนองความท้าทายของแอพพลิเคชั่นที่ซับซ้อนและมีขนาดใหญ่ได้หรือไม่ ฉันไม่เคยประสบปัญหามากมายเกี่ยวกับ Hibernate และฉันกำลังพิจารณาที่จะยึดติดกับความน่าเชื่อถือแบบเก่ามากกว่าที่จะใช้ Spring Data JPA ฉันควรทำอย่างไรดี? ฉันจะต้องเผชิญกับภาวะแทรกซ้อนและค่าใช้จ่ายที่คาดไม่ถึงอะไรบ้างหากใช้ Spring Data JPA

4
การแปลงประเภท Spring MVC: PropertyEditor หรือ Converter?
ฉันกำลังมองหาวิธีที่ง่ายและง่ายที่สุดในการผูกและแปลงข้อมูลใน Spring MVC ถ้าเป็นไปได้โดยไม่ต้องทำการกำหนดค่า xml ใด ๆ จนถึงตอนนี้ฉันใช้PropertyEditorsดังนี้: public class CategoryEditor extends PropertyEditorSupport { // Converts a String to a Category (when submitting form) @Override public void setAsText(String text) { Category c = new Category(text); this.setValue(c); } // Converts a Category to a String (when displaying form) @Override public String …

12
ไม่สามารถยกเลิกการกำหนดค่าอินสแตนซ์ของ java.util.ArrayList ออกจากโทเค็น START_OBJECT
ฉันกำลังพยายามโพสต์Listวัตถุที่กำหนดเอง JSON ของฉันในเนื้อหาคำขอคือ: { "collection": [ { "name": "Test order1", "detail": "ahk ks" }, { "name": "Test order2", "detail": "Fisteku" } ] } รหัสฝั่งเซิร์ฟเวอร์ที่จัดการคำขอ: import java.util.Collection; import javax.ws.rs.Consumes; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; @Path(value = "/rest/corder") public class COrderRestService { @POST @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) public Response …

4
จะฉีดการอ้างอิงลงในวัตถุที่สร้างขึ้นเองในฤดูใบไม้ผลิได้อย่างไร?
สมมติว่าเรามีคลาส: public class MyClass { @Autowired private AnotherBean anotherBean; } จากนั้นเราสร้างวัตถุของคลาสนี้ (หรือเฟรมเวิร์กอื่น ๆ ได้สร้างอินสแตนซ์ของคลาสนี้) MyClass obj = new MyClass(); เป็นไปได้ไหมที่จะฉีดการอ้างอิง? สิ่งที่ต้องการ: applicationContext.injectDependencies(obj); (ฉันคิดว่า Google Guice มีอะไรแบบนี้)

8
setMaxResults สำหรับคำอธิบายประกอบ Spring-Data-JPA?
ฉันพยายามรวม Spring-Data-JPA เข้ากับโครงการของฉัน สิ่งหนึ่งที่ทำให้ฉันสับสนคือฉันจะบรรลุ setMaxResults (n) ด้วยคำอธิบายประกอบได้อย่างไร ตัวอย่างเช่นรหัสของฉัน: public interface UserRepository extends CrudRepository<User , Long> { @Query(value="From User u where u.otherObj = ?1 ") public User findByOhterObj(OtherObj otherObj); } ฉันต้องการคืนone (and only one)User จาก otherObj เท่านั้น แต่ฉันหาวิธีใส่คำอธิบายประกอบ maxResults ไม่ได้ ใครช่วยให้คำแนะนำฉันได้ไหม (mysql บ่น: com.mysql.jdbc.JDBC4PreparedStatement@5add5415: select user0_.id as id100_, user0_.created as created100_ …

12
Spring Data JPA มีวิธีใดบ้างในการนับจำนวนรายการโดยใช้วิธีการแก้ไขชื่อ?
Spring Data JPAรองรับเอนทิตีการนับโดยใช้ข้อมูลจำเพาะ แต่มีวิธีใดบ้างในการนับเอนทิตีโดยใช้วิธีการแก้ไขชื่อ? สมมติว่าฉันต้องการวิธีcountByNameการนับเอนทิตีด้วยชื่อเฉพาะเช่นเดียวกับวิธีfindByNameการดึงเอนทิตีทั้งหมดที่มีชื่อเฉพาะ

7
การผูกรายการใน @RequestParam
ฉันกำลังส่งพารามิเตอร์จากแบบฟอร์มด้วยวิธีนี้: myparam[0] : 'myValue1' myparam[1] : 'myValue2' myparam[2] : 'myValue3' otherParam : 'otherValue' anotherParam : 'anotherValue' ... ฉันรู้ว่าฉันสามารถรับพารามิเตอร์ทั้งหมดในเมธอดคอนโทรลเลอร์ได้โดยการเพิ่มพารามิเตอร์เช่น public String controllerMethod(@RequestParam Map<String, String> params){ .... } ฉันต้องการผูกพารามิเตอร์ myParam [] (ไม่ใช่พารามิเตอร์อื่น ๆ ) กับรายการหรืออาร์เรย์ (อะไรก็ตามที่เก็บลำดับดัชนี) ดังนั้นฉันจึงลองใช้ไวยากรณ์เช่น: public String controllerMethod(@RequestParam(value="myParam") List<String> myParams){ .... } และ public String controllerMethod(@RequestParam(value="myParam") String[] myParams){ .... } …

5
วิธีกำหนดพารามิเตอร์ @Scheduled (fixedDelay) ด้วยภาษานิพจน์ Spring 3.0
เมื่อใช้ความสามารถ Spring 3.0 เพื่อใส่คำอธิบายประกอบงานที่กำหนดเวลาไว้ฉันต้องการตั้งค่าfixedDelayพารามิเตอร์ as จากไฟล์คอนฟิกูเรชันของฉันแทนที่จะเดินสายไฟลงในคลาสงานของฉันอย่างหนักเช่นในปัจจุบัน ... @Scheduled(fixedDelay = 5000) public void readLog() { ... } น่าเสียดายที่ดูเหมือนว่าด้วยวิธีการของ Spring Expression Language (SpEL) @Valueจะส่งคืนอ็อบเจกต์ String ซึ่งจะไม่สามารถใส่กล่องอัตโนมัติเป็นค่ายาวได้ตามที่fixedDelayพารามิเตอร์ต้องการ

4
Spring Expression Language (SpEL) ที่มี @Value: ดอลลาร์เทียบกับแฮช ($ เทียบกับ #)
ฉันสับสนเล็กน้อยเกี่ยวกับเวลาที่จะใช้${...}เมื่อเทียบกับ#{...}. เอกสารของฤดูใบไม้ผลิใช้เพียงแต่มีมากมายตัวอย่างว่าการใช้งาน#{...} ${...}นอกจากนี้เมื่อฉันเริ่มใช้ SpEL ฉันได้รับคำสั่งให้ใช้${...}และมันก็ใช้ได้ดี สำหรับผู้ที่สับสนตัวอย่างของการใช้งานจะเป็นอย่างไร @Component public class ProxyConfiguration { @Value("${proxy.host}") private String host; @Value("${proxy.port}") private String port; : } และไฟล์คุณสมบัติบางอย่าง: proxy.host=myproxy.host proxy.port=8000 คำถามของฉันคือ: อะไรคือความแตกต่างหรือเหมือนกัน? เวอร์ชันหนึ่งเลิกใช้งานแล้วฉันควรใช้เวอร์ชันอื่นหรือไม่

14
คำขอ POST ผ่าน RestTemplate ใน JSON
ฉันไม่พบตัวอย่างวิธีแก้ปัญหาของฉันดังนั้นฉันจึงต้องการขอความช่วยเหลือจากคุณ ฉันไม่สามารถส่งคำขอ POST โดยใช้วัตถุ RestTemplate ใน JSON ได้ ทุกครั้งที่ได้รับ: org.springframework.web.client.HttpClientErrorException: 415 ประเภทสื่อที่ไม่รองรับ ฉันใช้ RestTemplate ด้วยวิธีนี้: ... restTemplate = new RestTemplate(); List<HttpMessageConverter<?>> list = new ArrayList<HttpMessageConverter<?>>(); list.add(new MappingJacksonHttpMessageConverter()); restTemplate.setMessageConverters(list); ... Payment payment= new Payment("Aa4bhs"); Payment res = restTemplate.postForObject("http://localhost:8080/aurest/rest/payment", payment, Payment.class); อะไรคือความผิดของฉัน?
126 java  json  spring  rest  resttemplate 

12
Spring Boot และไฟล์กำหนดค่าภายนอกหลายไฟล์
ฉันมีไฟล์คุณสมบัติหลายไฟล์ที่ต้องการโหลดจาก classpath มีชุดหนึ่งภายใต้เริ่มต้นคือซึ่งเป็นส่วนหนึ่งของ/src/main/resources คาดว่าไฟล์myapp.jarของฉันspringcontextจะอยู่บน classpath กล่าวคือ <util:properties id="Job1Props" location="classpath:job1.properties"></util:properties> <util:properties id="Job2Props" location="classpath:job2.properties"></util:properties> ฉันยังต้องการตัวเลือกในการแทนที่คุณสมบัติเหล่านี้ด้วยชุดภายนอก ฉันมีโฟลเดอร์ config ภายนอกในcwd. ตามโฟลเดอร์ config doc ของ spring boot ควรอยู่ใน classpath แต่ไม่ชัดเจนจาก doc ว่าจะแทนที่applicaiton.propertiesจากที่นั่นหรือคุณสมบัติทั้งหมดใน config เท่านั้น เมื่อผมทดสอบเพียงได้รับเลือกขึ้นและส่วนที่เหลือของคุณสมบัติยังคงหยิบขึ้นมาจากapplication.properties /src/main/resourcesฉันได้ลองใช้เป็นรายการที่คั่นด้วยเครื่องหมายจุลภาคspring.config.locationแต่ชุดเริ่มต้นยังไม่ถูกลบล้าง ฉันจะสร้างไฟล์กำหนดค่าภายนอกหลายไฟล์แทนที่ไฟล์เริ่มต้นได้อย่างไร ในขณะนี้ฉันใช้วิธีแก้ปัญหาapp.config.location(คุณสมบัติเฉพาะของแอป) ซึ่งฉันจัดหาผ่านบรรทัดคำสั่ง กล่าวคือ java -jar myapp.jar app.config.location=file:./config และฉันเปลี่ยนapplicationcontextเป็น <util:properties id="Job2Props" location="{app.config.location}/job2.properties"></util:properties> และนี่คือวิธีที่ฉันทำการแยกระหว่างไฟล์และคลาสพา ธ ขณะโหลดแอปพลิเคชัน การแก้ไข: //psuedo code if …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.