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

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

7
วิธีตั้งค่าตัวแปรสภาพแวดล้อมหรือคุณสมบัติของระบบในการทดสอบสปริง
ฉันต้องการเขียนการทดสอบบางอย่างที่ตรวจสอบการกำหนดค่า XML Spring ของ WAR ที่ปรับใช้ น่าเสียดายที่ถั่วบางชนิดต้องการให้มีการตั้งค่าตัวแปรสภาพแวดล้อมหรือคุณสมบัติของระบบ ฉันจะตั้งค่าตัวแปรสภาพแวดล้อมก่อนที่ถั่วสปริงจะเริ่มต้นได้อย่างไรเมื่อใช้รูปแบบการทดสอบที่สะดวกกับ @ContextConfiguration @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath:whereever/context.xml") public class TestWarSpringContext { ... } หากฉันกำหนดค่าบริบทของแอปพลิเคชันด้วยคำอธิบายประกอบฉันไม่เห็นจุดเชื่อมต่อที่ฉันสามารถทำอะไรบางอย่างได้ก่อนที่บริบทสปริงจะเริ่มต้น

7
ส่งคืนเฉพาะข้อความสตริงจาก Spring MVC 3 Controller
มีใครบอกฉันได้ไหมว่าฉันจะส่งคืนข้อความสตริงจากคอนโทรลเลอร์ได้อย่างไร ถ้าฉันส่งคืนสตริงจากเมธอดคอนโทรลเลอร์ให้สปริง mvc ถือว่าเป็นชื่อมุมมอง jsp

9
Spring JPA @Query พร้อม LIKE
ฉันกำลังพยายามสร้างเมธอดใน CrudRepository ที่จะสามารถให้รายชื่อผู้ใช้ที่มีชื่อผู้ใช้เป็นเหมือนพารามิเตอร์อินพุต (ไม่เพียง แต่เริ่มต้นด้วย แต่ยังมีอยู่ด้วย) ฉันพยายามใช้ method "findUserByUsernameLike(@Param("username") String username)"แต่ตามที่บอกไว้ในเอกสาร Spring เมธอดนี้เท่ากับ " where user.username like ?1" มันไม่ดีสำหรับฉันอย่างที่ฉันได้บอกไปแล้วว่าฉันพยายามดึงผู้ใช้ทั้งหมดที่มีชื่อผู้ใช้ ... ฉันเขียนแบบสอบถามถึงวิธีการ แต่มันไม่ได้ปรับใช้ @Repository public interface UserRepository extends CrudRepository<User, Long> { @Query("select u from user u where u.username like '%username%'") List<User> findUserByUsernameLike(@Param("username") String username); } มีใครช่วยฉันได้ไหม
95 java  jquery  sql  spring  jpa 

8
ธุรกรรมที่ทำเครื่องหมายว่าย้อนกลับเท่านั้น: ฉันจะหาสาเหตุได้อย่างไร
ฉันมีปัญหาในการทำธุรกรรมภายในวิธี @Transactional ของฉัน: methodA() { methodB() } @Transactional methodB() { ... em.persist(); ... em.flush(); log("OK"); } เมื่อฉันเรียก methodB () จาก methodA () เมธอดจะผ่านไปได้สำเร็จและฉันสามารถเห็น "ตกลง" ในบันทึกของฉัน แต่แล้วฉันก็เข้าใจ Could not commit JPA transaction; nested exception is javax.persistence.RollbackException: Transaction marked as rollbackOnly org.springframework.transaction.TransactionSystemException: Could not commit JPA transaction; nested exception is javax.persistence.RollbackException: Transaction …


8
FetchMode ทำงานอย่างไรใน Spring Data JPA
ฉันมีความสัมพันธ์ระหว่างโมเดลอ็อบเจ็กต์สามตัวในโปรเจ็กต์ของฉัน (โมเดลและส่วนย่อยที่เก็บในตอนท้ายของโพสต์ เมื่อฉันเรียกPlaceRepository.findByIdมันจะทำให้เกิดการค้นหาสามรายการ: ("sql") SELECT * FROM place p where id = arg SELECT * FROM user u where u.id = place.user.id SELECT * FROM city c LEFT OUTER JOIN state s on c.woj_id = s.id where c.id = place.city.id นั่นเป็นพฤติกรรมที่ค่อนข้างผิดปกติ (สำหรับฉัน) เท่าที่ฉันสามารถบอกได้หลังจากอ่านเอกสาร Hibernate แล้วก็ควรใช้แบบสอบถาม JOIN เสมอ ไม่มีความแตกต่างในแบบสอบถามเมื่อFetchType.LAZYเปลี่ยนเป็น FetchType.EAGERในPlaceคลาส (แบบสอบถามที่มี …

17
Spring ApplicationContext - การรั่วไหลของทรัพยากร: "บริบท" จะไม่ถูกปิด
ในแอปพลิเคชัน MVC ในฤดูใบไม้ผลิฉันเริ่มต้นตัวแปรในคลาสบริการอย่างใดอย่างหนึ่งโดยใช้วิธีการต่อไปนี้: ApplicationContext context = new ClassPathXmlApplicationContext("META-INF/userLibrary.xml"); service = context.getBean(UserLibrary.class); UserLibrary เป็นยูทิลิตี้ของบุคคลที่สามซึ่งฉันใช้ในแอปพลิเคชันของฉัน โค้ดด้านบนสร้างคำเตือนสำหรับตัวแปร "บริบท" คำเตือนดังแสดงด้านล่าง: Resource leak: 'context' is never closed ฉันไม่เข้าใจคำเตือน เนื่องจากแอปพลิเคชันนี้เป็นแอปพลิเคชัน Spring MVC ฉันจึงไม่สามารถปิด / ทำลายบริบทได้จริงเนื่องจากฉันอ้างถึงบริการในขณะที่แอปพลิเคชันกำลังทำงานอยู่ คำเตือนที่พยายามจะบอกฉันคืออะไรกันแน่?

12
การกำหนดค่า ObjectMapper ใน Spring
เป้าหมายของฉันคือการกำหนดค่าobjectMapperในทางที่มัน serialises @JsonPropertyองค์ประกอบซึ่งมีคำอธิบายประกอบกับ ในการดำเนินการดังกล่าวฉันทำตามคำอธิบายนี้ซึ่งระบุวิธีกำหนดค่า objectmapper ผมรวม objectmapper ที่กำหนดเองตามที่อธิบายไว้ที่นี่ อย่างไรก็ตามเมื่อคลาสNumbersOfNewEventsถูกทำให้เป็นอนุกรมมันยังคงมีแอตทริบิวต์ทั้งหมดใน json ใครมีคำใบ้? ขอบคุณล่วงหน้า แจ็คสัน 1.8.0 สปริง 3.0.5 CustomObjectMapper public class CompanyObjectMapper extends ObjectMapper { public CompanyObjectMapper() { super(); setVisibilityChecker(getSerializationConfig() .getDefaultVisibilityChecker() .withCreatorVisibility(JsonAutoDetect.Visibility.NONE) .withFieldVisibility(JsonAutoDetect.Visibility.NONE) .withGetterVisibility(JsonAutoDetect.Visibility.NONE) .withIsGetterVisibility(JsonAutoDetect.Visibility.NONE) .withSetterVisibility(JsonAutoDetect.Visibility.DEFAULT)); } } servlet.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc …

3
Akka หรือ Reactor [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบพร้อมข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันอยู่ระหว่างการเริ่มโปรเจ็กต์ใหม่ (ที่ใช้ Java) ฉันต้องการสร้างมันเป็นสถาปัตยกรรมแบบแยกส่วนกระจายและยืดหยุ่นได้ ดังนั้นฉันจึงต้องการให้กระบวนการทางธุรกิจสื่อสารกันเองสามารถทำงานร่วมกันได้ แต่ก็เป็นอิสระ ตอนนี้ฉันกำลังดูสองกรอบที่นอกเหนือจากความแตกต่างด้านอายุแล้วยังแสดงมุมมองที่แตกต่างกัน 2 มุมมอง: อักคา ( http://akka.io ) เครื่องปฏิกรณ์ ( https://github.com/reactor/reactor ) สิ่งที่ฉันควรพิจารณาเมื่อเลือกหนึ่งในกรอบข้างต้น เท่าที่ฉันเข้าใจจนถึงตอนนี้ Akka ยังคงอยู่คู่กัน (ในลักษณะที่ฉันต้อง 'เลือก' นักแสดงที่ฉันต้องการส่งข้อความถึง) แต่มีความยืดหยุ่นมาก ในขณะที่ Reactor หลวม (ตามการโพสต์เหตุการณ์) ใครช่วยให้ฉันเข้าใจวิธีการตัดสินใจที่ถูกต้อง? อัปเดต หลังจากตรวจสอบEvent Busของ Akka ให้ดีขึ้นแล้วฉันเชื่อว่าในลักษณะบางอย่างที่แสดงโดย Reactorนั้นรวมอยู่ใน Akka แล้ว ตัวอย่างเช่นการสมัครสมาชิกและการเผยแพร่เหตุการณ์ซึ่งจัดทำเป็นเอกสารในhttps://github.com/reactor/reactor#events-selectors-and-consumersสามารถแสดงเป็น Akka ได้ดังนี้: …

5
ไฟล์ Spring .properties: รับองค์ประกอบเป็น Array
ฉันกำลังโหลดคุณสมบัติคุณสมบัติจาก.propertiesไฟล์โดยใช้ Spring ดังนี้: file: elements.properties base.module.elementToSearch=1 base.module.elementToSearch=2 base.module.elementToSearch=3 base.module.elementToSearch=4 base.module.elementToSearch=5 base.module.elementToSearch=6 ไฟล์ xml spring file: myapplication.xml <bean id="some" class="com.some.Class"> <property name="property" value="#{base.module.elementToSearch}" /> </bean> และ Class.java ของฉัน file: Class.java public void setProperty(final List<Integer> elements){ this.elements = elements; } แต่เมื่อทำการดีบักองค์ประกอบพารามิเตอร์จะรับเฉพาะองค์ประกอบสุดท้ายในรายการดังนั้นจึงมีรายการขององค์ประกอบหนึ่งที่มีค่า "6" แทนที่จะเป็นรายการที่มี 6 องค์ประกอบ ฉันลองใช้วิธีอื่นเช่นการเพิ่มค่าเท่านั้น#{base.module}แต่ไม่พบพารามิเตอร์ในไฟล์คุณสมบัติ วิธีแก้ปัญหาคือต้องมีในไฟล์ elements.properties รายการที่คั่นด้วยเครื่องหมายจุลภาคเช่น: base.module.elementToSearch=1,2,3,4,5,6 และใช้เป็น String …

11
โปรไฟล์เริ่มต้น Spring-boot สำหรับการทดสอบการรวม
Spring-boot ใช้โปรไฟล์ Spring ( http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html ) ซึ่งอนุญาตให้อินสแตนซ์มีการกำหนดค่าแยกกันสำหรับสภาพแวดล้อมที่แตกต่างกัน วิธีหนึ่งที่ฉันใช้คุณสมบัตินี้คือกำหนดค่าฐานข้อมูลทดสอบที่จะใช้โดยการทดสอบการรวม ฉันสงสัยว่าจำเป็นต้องสร้าง 'การทดสอบ' โปรไฟล์ของตัวเองและเปิดใช้งานโปรไฟล์นี้อย่างชัดเจนในแต่ละไฟล์ทดสอบหรือไม่? ตอนนี้ฉันทำด้วยวิธีต่อไปนี้: สร้าง application-test.properties ภายใน src / main / resources เขียน config เฉพาะการทดสอบที่นั่น (ตอนนี้ชื่อฐานข้อมูล) ในทุกไฟล์ทดสอบประกอบด้วย: @ActiveProfiles("test") มีวิธีที่ชาญฉลาด / รัดกุมกว่านี้ไหม? ตัวอย่างเช่นโปรไฟล์การทดสอบเริ่มต้น? แก้ไข 1: คำถามนี้เกี่ยวข้องกับ Spring-Boot 1.4.1

4
ข้อยกเว้น NoClassDefFoundError สำหรับ CacheProvider
ฉันเป็นคนใหม่ในฤดูใบไม้ผลิและจำศีลดังนั้นฉันจึงพยายามใช้เว็บแอปพลิเคชันง่ายๆที่ใช้ Spring 3 + hibernate 4 ในขณะที่ฉันเริ่ม Tomcat ฉันมีข้อยกเว้นนี้ java.lang.NoClassDefFoundError: org/hibernate/cache/CacheProvider at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2427) at java.lang.Class.getDeclaredMethods(Class.java:1791) ... Caused by: java.lang.ClassNotFoundException: org.hibernate.cache.CacheProvider at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523) ฉันพบว่าคลาสนี้อยู่ใน hibernate-core สำหรับ hibernate 3 แต่ฉันไม่พบใน hibernate 4 ส่วนของ context.xml ของฉันสำหรับการคงอยู่: <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="org.hsqldb.jdbcDriver"/> <property name="url" value="jdbc:oracle:thin:@IP_Address:SID"/> <property name="username" value="xxx"/> …

6
Spring Boot และวิธีกำหนดค่ารายละเอียดการเชื่อมต่อกับ MongoDB?
เป็นมือใหม่สำหรับ Spring Boot ฉันสงสัยว่าจะกำหนดค่ารายละเอียดการเชื่อมต่อสำหรับ MongoDB ได้อย่างไร ฉันได้ลองใช้ตัวอย่างปกติแล้ว แต่ไม่มีรายละเอียดการเชื่อมต่อเลย ฉันต้องการระบุฐานข้อมูลที่จะใช้และ url / port ของโฮสต์ที่รัน MongoDB คำแนะนำหรือคำแนะนำใด ๆ ?

2
สร้างสองวิธีสำหรับรูปแบบ url เดียวกันโดยมีอาร์กิวเมนต์ต่างกัน
ฉันมีสถานการณ์ที่หนึ่ง url "serachUser" อาจมาพร้อมกับค่า userId หรือ UserName ที่แตกต่างกันสองค่า ด้วยเหตุนี้ฉันจึงสร้างสองวิธี public String searchUserById(@RequestParam long userID, Model model) public ModelAndView searchUserByName(@RequestParam String userName) แต่ฉันได้รับข้อยกเว้นพบการแมปที่ไม่ชัดเจน สปริงมีวิธีใดในการจัดการกับสถานการณ์นี้

7
มีวิธีระบุค่าคุณสมบัติเริ่มต้นใน Spring XML หรือไม่
เรากำลังใช้PropertyPlaceholderConfigurerเพื่อใช้คุณสมบัติ java ในการกำหนดค่า Spring ของเรา ( ดูรายละเอียดที่นี่ ) เช่น: <foo name="port"> <value>${my.server.port}</value> </foo> เราต้องการเพิ่มคุณสมบัติเพิ่มเติม แต่มีระบบแบบกระจายซึ่งอินสแตนซ์ที่มีอยู่ทั้งหมดสามารถใช้ค่าเริ่มต้นได้ มีวิธีหลีกเลี่ยงการอัปเดตไฟล์คุณสมบัติทั้งหมดของเราหรือไม่โดยระบุค่าเริ่มต้นในการกำหนดค่า Spring เมื่อไม่มีการกำหนดค่าคุณสมบัติการลบล้าง
92 java  xml  spring  properties 

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