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

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

2
Spring 4 vs Jersey สำหรับบริการเว็บ REST
เรากำลังวางแผนที่จะสร้างแอปพลิเคชันใหม่ด้วยเวอร์ชันฤดูใบไม้ผลิ 4.0.6 เราใช้ตัวควบคุมที่สามารถส่งคืน "XML" หรือ "JSON" ในโครงการก่อนหน้านี้เราประสบความสำเร็จในการใช้ Jersey กับ Spring for REST โดยใช้ JAX-RS API แต่หลังจากอ่านบทความและคำแนะนำจากผู้อาวุโสแล้วพวกเขากล่าวว่าฤดูใบไม้ผลิให้การสนับสนุน REST ที่ค่อนข้างดี บางประเด็นที่ทำให้ฉันสับสนจริงๆถ้าฉันใช้การสนับสนุน Spring REST โดยไม่ใช้ JAX-RS และ Jersey ได้แก่ : การจัดระเบียบและการไม่เข้าใจผิดใน Spring MVC เป็นอย่างไร จำเป็นไหมสำหรับการมาร์แชลหรือ unmarshaling จำเป็นต้องใช้ jax-rs หากมีการจัดการมาร์แชลและ unmarshaling โดยอัตโนมัติในฤดูใบไม้ผลิจะรู้ได้อย่างไรเกี่ยวกับ xmlRootElements ฉันยังงงอยู่ว่า Spring พิสูจน์การสนับสนุน REST ได้ดีมากแล้วทำไมคนยังไปกับ Jersey for REST? ต้องการทราบรายละเอียดเพิ่มเติมจริงๆ หากฉันพูดอะไรผิดโปรดเพิกเฉย คำอธิบายพร้อมตัวอย่างมีประโยชน์มาก …

20
วิธีหลีกเลี่ยงข้อยกเว้น“ เส้นทางมุมมองแบบวงกลม” ด้วยการทดสอบ Spring MVC
ฉันมีรหัสต่อไปนี้ในตัวควบคุมของฉัน: @Controller @RequestMapping("/preference") public class PreferenceController { @RequestMapping(method = RequestMethod.GET, produces = "text/html") public String preference() { return "preference"; } } ฉันแค่พยายามทดสอบโดยใช้การทดสอบ Spring MVCดังนี้: @ContextConfiguration @WebAppConfiguration @RunWith(SpringJUnit4ClassRunner.class) public class PreferenceControllerTest { @Autowired private WebApplicationContext ctx; private MockMvc mockMvc; @Before public void setup() { mockMvc = webAppContextSetup(ctx).build(); } @Test public void …

3
java: comp / env / do คืออะไร?
ฉันใช้เวลาในแต่ละวันมากเกินไปในการพยายามหาข้อผิดพลาดบางอย่างเมื่อเชื่อมต่อถั่วโรงงาน JNDI ปัญหากลับกลายเป็นว่าแทนที่จะเป็นแบบนี้ ... <bean id="someId" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/loc"/> </bean> ฉันได้เขียนสิ่งนี้จริงๆ ... <bean id="someId" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="jdbc/loc"/> </bean> ฉันสรุปได้ว่าjava:comp/env/บางทีอาจอ้างถึงตัวแปรสภาพแวดล้อมบางอย่างและทำให้เป็นเช่นนั้นในที่สุดไฟล์บริบทของฉันจะถูกดู java:comp/env/ความแตกต่างเพียงอย่างเดียวคือ จากปากผู้เชี่ยวชาญนั่นทำอะไร? โดยไม่ต้องjava:comp/env/คำนำหน้าในมูลค่าที่ฉันจะได้รับข้อผิดพลาดที่กล่าวว่า"ชื่อ JDBC ไม่ผูกพันในบริบทนี้"
116 spring  jdbc  jndi  factory 

11
วิธีอ่านตัวแปรสภาพแวดล้อมระบบใน Spring applicationContext
จะอ่านตัวแปรสภาพแวดล้อมของระบบในบริบทแอปพลิเคชันได้อย่างไร? ฉันต้องการสิ่งที่ชอบ: <util:properties id="dbProperties" location="classpath:config_DEV/db.properties" /> หรือ <util:properties id="dbProperties" location="classpath:config_QA/db.properties" /> ขึ้นอยู่กับสภาพแวดล้อม ฉันขอแบบนี้ในบริบทแอปพลิเคชันได้ไหม <util:properties id="dbProperties" location="classpath:config_${systemProperties.env}/db.properties" /> โดยที่ค่าจริงถูกตั้งค่าตามตัวแปรสภาพแวดล้อมของระบบ ฉันใช้ Spring 3.0

4
ชนิด WebMvcConfigurerAdapter เลิกใช้แล้ว
ฉันเพิ่งย้ายไปเป็นเวอร์ชัน spring mvc 5.0.1.RELEASEแต่ทันใดนั้นใน eclipse STS WebMvcConfigurerAdapter ถูกทำเครื่องหมายว่าเลิกใช้แล้ว public class MvcConfig extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); // to serve static .html pages... registry.addResourceHandler("/static/**").addResourceLocations("/resources/static/"); } .... } จะเอาออกได้ยังไง!
116 java  spring  spring-mvc 

27
เกิดข้อผิดพลาดในการสร้าง bean ด้วยชื่อ 'entityManagerFactory' ที่กำหนดในทรัพยากรพา ธ คลาส: การเรียกใช้เมธอด init ล้มเหลว
เมื่อฉันรวบรวมโครงการฤดูใบไม้ผลิของฉันฉันได้รับข้อผิดพลาดต่อไปนี้ เกิดข้อผิดพลาดในการสร้าง bean ด้วยชื่อ 'entityManagerFactory' ที่กำหนดไว้ในทรัพยากรพา ธ คลาส [org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]: การเรียกใช้เมธอด init ล้มเหลว ฉันใช้ STS Eclipse และ MySql Database สตริงการเชื่อมต่อของฉันApplication.Propertiesคือ spring.datasource.url=jdbc:mysql://localhost:3306/stgdb spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.jpa.hibernate.ddl-auto=update ข้อผิดพลาดโดยละเอียดได้รับด้านล่าง ================================================= 2016-10-15 15:34:38.875[0;39m [31mERROR[0;39m [35m3700[0;39m [2m---[0;39m [2m[ main][0;39m [36mo.s.boot.SpringApplication [0;39m [2m:[0;39m Application startup …

5
การใช้ Spring MVC Test เพื่อทดสอบหน่วยการทดสอบหลายส่วนของคำขอ POST
ฉันมีตัวจัดการคำขอต่อไปนี้สำหรับการบันทึกรถยนต์ ฉันได้ตรวจสอบแล้วว่าใช้งานได้เมื่อฉันใช้เช่น cURL ตอนนี้ฉันต้องการทดสอบหน่วยด้วยวิธีการทดสอบ Spring MVC ฉันได้พยายามใช้ fileUploader แต่ฉันไม่ได้จัดการเพื่อให้มันใช้งานได้ ฉันไม่สามารถเพิ่มส่วน JSON ได้ ฉันจะทดสอบวิธีนี้ด้วย Spring MVC Test ได้อย่างไร ฉันไม่พบตัวอย่างใด ๆ ในเรื่องนี้ @RequestMapping(value = "autos", method = RequestMethod.POST) public ResponseEntity saveAuto( @RequestPart(value = "data") autoResource, @RequestParam(value = "files[]", required = false) List<MultipartFile> files) { // ... } ฉันต้องการอัปเดตการแสดง JSON สำหรับไฟล์อัตโนมัติ + หนึ่งไฟล์ขึ้นไป …

9
วิธีส่งคืนออบเจ็กต์ที่กำหนดเองจากแบบสอบถาม Spring Data JPA GROUP BY
ฉันกำลังพัฒนาแอปพลิเคชัน Spring Boot ด้วย Spring Data JPA ฉันใช้แบบสอบถาม JPQL ที่กำหนดเองเพื่อจัดกลุ่มตามฟิลด์และรับการนับ ต่อไปนี้เป็นวิธีการจัดเก็บของฉัน @Query(value = "select count(v) as cnt, v.answer from Survey v group by v.answer") public List<?> findSurveyCount(); มันใช้งานได้และได้ผลลัพธ์ดังนี้: [ [1, "a1"], [2, "a2"] ] ฉันต้องการได้รับสิ่งนี้: [ { "cnt":1, "answer":"a1" }, { "cnt":2, "answer":"a2" } ] ฉันจะบรรลุเป้าหมายนี้ได้อย่างไร?

9
ปิดใช้งานการกำหนดค่าอัตโนมัติที่เกี่ยวข้องกับฐานข้อมูลทั้งหมดใน Spring Boot
ฉันใช้ Spring Boot เพื่อพัฒนาแอปพลิเคชั่นสองตัวตัวหนึ่งทำหน้าที่เป็นเซิร์ฟเวอร์และอีกแอปหนึ่งเป็นแอปไคลเอนต์ อย่างไรก็ตามทั้งสองเป็นแอปเดียวกันที่ทำงานแตกต่างกันไปตามโปรไฟล์ที่ใช้งานอยู่ ฉันใช้คุณสมบัติการกำหนดค่าอัตโนมัติของ Spring Boot เพื่อกำหนดค่าแอปพลิเคชันของฉัน ฉันต้องการปิดการใช้งานฐานข้อมูลทั้งหมดที่เกี่ยวข้องกับการกำหนดค่าอัตโนมัติในแอปไคลเอนต์เนื่องจากไม่จำเป็นต้องเชื่อมต่อฐานข้อมูล แอปพลิเคชันไม่ควรพยายามสร้างการเชื่อมต่อกับฐานข้อมูลหรือพยายามใช้คุณสมบัติ Spring Data หรือ Hibernate การเปิดหรือปิดการกำหนดค่าฐานข้อมูลอัตโนมัติควรเป็นไปตามเงื่อนไขและขึ้นอยู่กับโปรไฟล์ที่ใช้งานอยู่ของแอป ฉันสามารถทำได้โดยการสร้างไฟล์ application.properties ที่แตกต่างกันสองไฟล์สำหรับโปรไฟล์ที่เกี่ยวข้องหรือไม่ ฉันพยายามเพิ่มสิ่งนี้ลงในไฟล์คุณสมบัติของฉัน spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration\ org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration\ org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration\ org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration แต่แอปพลิเคชันยังคงพยายามเชื่อมต่อกับฐานข้อมูลเมื่อเริ่มต้น การยกเว้นเหล่านั้นเพียงพอสำหรับการบรรลุข้อกำหนดของฉันหรือไม่

9
ไม่สามารถป้อนข้อมูลอัตโนมัติในช่อง: RestTemplate ในแอปพลิเคชัน Spring boot
ฉันได้รับข้อยกเว้นต่ำกว่าในขณะที่เรียกใช้แอปพลิเคชันสปริงบูตระหว่างการเริ่มต้น: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'testController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.web.client.RestTemplate com.micro.test.controller.TestController.restTemplate; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.web.client.RestTemplate] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. …

8
การพึ่งพา maven ใดที่จะรวมไว้สำหรับ spring 3.0
ฉันกำลังพยายามทำโครงการแรกด้วย Spring 3.0 (และ maven) ฉันใช้ Spring 2.5 (และเวอร์ชันไพรเมอร์) ในบางโครงการ อย่างไรก็ตามฉันค่อนข้างสับสนฉันต้องกำหนดโมดูลใดให้เป็นการอ้างอิงใน pom.xml ของฉัน ฉันแค่ต้องการใช้ฟังก์ชันคอนเทนเนอร์หลัก (ถั่ว, แกน, บริบท, เอล) ฉันเคยทำสิ่งนี้: <dependency> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> <version>2.5.6</version> </dependency> แต่ตอนนี้ฉันสับสนพอสมควรเนื่องจากไม่มีโมดูลสปริงแบบเต็มสำหรับเวอร์ชัน 3.0 อีกต่อไป ฉันลองทำตามขั้นตอนต่อไปนี้ แต่ไม่ได้ผล (บางคลาสหายไป) <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>3.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>3.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.0.0.RELEASE</version> </dependency> …

4
javax.inject.Named คำอธิบายประกอบควรจะใช้สำหรับอะไร
ฉันพยายามทำความเข้าใจกับjavax.injectแพ็คเกจและไม่ชัดเจนว่าjavax.inject.Namedควรใช้คำอธิบายประกอบอะไร Javadoc ไม่ได้อธิบายถึงแนวคิดเบื้องหลัง Javadoc อยู่ที่http://download.oracle.com/javaee/6/api/javax/inject/Named.html ฉันใช้Spring 3.0เพื่อเขียนโปรแกรมตัวอย่างโดยการใส่@Namedbean ดูเหมือนว่าจะเพิ่มลงในโรงงานถั่ว แต่คำอธิบาย Javadoc นั้นเบามากฉันไม่สามารถบอกได้ว่านั่นเป็นพฤติกรรมมาตรฐานหรือพฤติกรรมเฉพาะของ Spring คำถามของฉันคือ: อะไรคือความแตกต่างระหว่าง@Namedและ@Qualifier คุณควรจะบอกระบบ Runtime ได้อย่างไรว่าคลาสควรฉีดในคลาสอื่น ๆ คำอธิบายประกอบสำหรับสิ่งนั้นคืออะไร? เทียบเท่า@Componentในฤดูใบไม้ผลิ? อัปเดต 1มีคำอธิบายที่ยอดเยี่ยม@Namedและ@Qualifierที่ Nice article about @Namedและ@Qualifier https://dzone.com/articles/java-ee6-cdi-named-componentsขอบคุณ @xmedeko สำหรับการเชื่อมโยงไปยังความคิดเห็นด้านล่าง

7
การตั้งค่าตัวแปร JavaScript จาก Spring model โดยใช้ Thymeleaf
ฉันใช้ Thymeleaf เป็นเครื่องมือแม่แบบ ฉันจะส่งตัวแปรจาก Spring model ไปยังตัวแปร JavaScript ได้อย่างไร ด้านสปริง: @RequestMapping(value = "message", method = RequestMethod.GET) public String messages(Model model) { model.addAttribute("message", "hello"); return "index"; } ด้านลูกค้า: <script> .... var m = ${message}; // not working alert(m); ... </script>

3
ความแตกต่างระหว่าง Interceptor และ Filter ใน Spring MVC
ฉันสับสนเล็กน้อยเกี่ยวกับFilterและInterceptorวัตถุประสงค์ ตามที่ฉันเข้าใจจากเอกสารInterceptorจะเรียกใช้ระหว่างคำขอ ในทางกลับกันFilterจะถูกเรียกใช้ก่อนการแสดงผลมุมมอง แต่หลังจากคอนโทรลเลอร์แสดงการตอบสนอง แล้วpostHandle()Interceptor กับdoFilter()ใน Filter ต่างกันตรงไหน? แนวทางปฏิบัติที่ดีที่สุดในกรณีใดที่ควรใช้คืออะไร? ในภาพนี้ที่งานFilterและInterceptorS?

7
รัน Spring Boot Configuration Annotation Processor อีกครั้งเพื่ออัพเดตข้อมูลเมตาที่สร้างขึ้น
ฉันได้เพิ่ม: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> ของฉันpom.xmlต่อintellijคำขอ / คำเตือน ตอนนี้ฉันเห็น "เรียกใช้ Spring Boot Configuration Annotation Processor อีกครั้งเพื่ออัปเดตข้อมูลเมตาที่สร้างขึ้น" ฉันจะทำสิ่งที่intellijขอให้ฉันทำได้อย่างไร? ลิงค์นี้B.2 การสร้างข้อมูลเมตาของคุณเองโดยใช้ตัวประมวลผลคำอธิบายประกอบไม่มีคำแนะนำ

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