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

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

14
การส่งผ่านตัวแปรหลายตัวใน @RequestBody ไปยังตัวควบคุม Spring MVC โดยใช้ Ajax
จำเป็นต้องห่อด้วยวัตถุสำรองหรือไม่? ฉันต้องการทำสิ่งนี้: @RequestMapping(value = "/Test", method = RequestMethod.POST) @ResponseBody public boolean getTest(@RequestBody String str1, @RequestBody String str2) {} และใช้ JSON ดังนี้: { "str1": "test one", "str2": "two test" } แต่ฉันต้องใช้: @RequestMapping(value = "/Test", method = RequestMethod.POST) @ResponseBody public boolean getTest(@RequestBody Holder holder) {} จากนั้นใช้ JSON นี้: { "holder": { "str1": …
113 java  spring  http  spring-mvc 

9
Dependency Injection และ Inversion of Control ใน Spring Framework คืออะไร?
"Dependency Injection" และ "Inversion of Control" มักถูกกล่าวถึงเป็นข้อดีหลักของการใช้ Spring framework สำหรับการพัฒนา Web framework ใครช่วยอธิบายได้ไหมว่ามันคืออะไรด้วยตัวอย่างถ้าเป็นไปได้

16
Spring @PropertySource โดยใช้ YAML
Spring Boot ช่วยให้เราสามารถแทนที่ไฟล์ application.properties ของเราด้วย YAML ที่เทียบเท่า อย่างไรก็ตามดูเหมือนว่าฉันจะประสบปัญหากับการทดสอบของฉัน ถ้าฉันใส่คำอธิบายประกอบTestConfiguration(การกำหนดค่า Java แบบง่าย) ของฉันจะต้องมีไฟล์คุณสมบัติ ตัวอย่างเช่นนี้ใช้ไม่ได้: @PropertySource(value = "classpath:application-test.yml") หากมีสิ่งนี้ในไฟล์ YAML ของฉัน: db: url: jdbc:oracle:thin:@pathToMyDb username: someUser password: fakePassword และฉันจะใช้ประโยชน์จากคุณค่าเหล่านั้นด้วยสิ่งนี้: @Value("${db.username}") String username อย่างไรก็ตามฉันลงเอยด้วยข้อผิดพลาดดังนี้: Could not resolve placeholder 'db.username' in string value "${db.username}" ฉันจะใช้ประโยชน์จากความดีของ YAML ในการทดสอบของฉันได้อย่างไร

1
ที่เก็บข้อมูล Spring ถูกนำไปใช้จริงอย่างไร?
ฉันทำงานกับที่เก็บ Spring Data JPA ในโครงการของฉันมาระยะหนึ่งแล้วและฉันรู้ประเด็นด้านล่าง: ในอินเทอร์เฟซที่เก็บเราสามารถเพิ่มเมธอดเช่นfindByCustomerNameAndPhone()(สมมติว่าcustomerNameและphoneเป็นฟิลด์ในอ็อบเจ็กต์โดเมน) จากนั้น Spring จัดเตรียมการนำไปใช้โดยการนำเมธอดอินเทอร์เฟซที่เก็บข้อมูลข้างต้นไปใช้ที่รันไทม์ (ระหว่างการรันแอปพลิเคชัน) ฉันสนใจว่ารหัสนี้ถูกเข้ารหัสอย่างไรและฉันได้ดูซอร์สโค้ดและ API ของ Spring JPA แล้ว แต่ฉันไม่พบคำตอบสำหรับคำถามด้านล่าง: คลาสการใช้งานที่เก็บถูกสร้างขึ้นที่รันไทม์ & วิธีการที่ถูกนำไปใช้และฉีดอย่างไร? Spring Data JPA ใช้ CGlib หรือไลบรารีการจัดการ bytecode เพื่อใช้วิธีการและฉีดแบบไดนามิกหรือไม่ คุณช่วยกรุณาตอบคำถามข้างต้นและให้เอกสารที่รองรับได้หรือไม่?

2
เมื่อใส่คำอธิบายประกอบชั้นเรียนด้วย @Component หมายความว่าเป็น Spring Bean และ Singleton หรือไม่
ฉันค่อนข้างใหม่สำหรับ Spring ฉันมีคำถามเกี่ยวกับการใส่คำอธิบายประกอบชั้นเรียน เมื่อใส่คำอธิบายประกอบคลาสด้วย@Componentหมายความว่าคลาสนี้จะเป็น Spring Bean และโดยค่าเริ่มต้นเป็นซิงเกิลตันหรือไม่


8
การเรียกเมธอด Spring @Transaction โดยเมธอดภายในคลาสเดียวกันไม่ได้ผลใช่หรือไม่
ฉันเพิ่งเริ่มทำธุรกรรม Spring มีบางอย่างที่ฉันพบว่าแปลกจริงๆฉันอาจเข้าใจเรื่องนี้อย่างถูกต้อง ฉันต้องการมีทรานแซคชันในระดับเมธอดและฉันมีเมธอดผู้โทรภายในคลาสเดียวกันและดูเหมือนว่ามันจะไม่เป็นแบบนั้นมันจะต้องถูกเรียกจากคลาสแยกต่างหาก ฉันไม่เข้าใจว่ามันเป็นไปได้อย่างไร หากใครมีความคิดในการแก้ไขปัญหานี้ฉันจะขอบคุณมาก ฉันต้องการใช้คลาสเดียวกันเพื่อเรียกใช้วิธีการทำธุรกรรมที่มีคำอธิบายประกอบ นี่คือรหัส: public class UserService { @Transactional public boolean addUser(String userName, String password) { try { // call DAO layer and adds to database. } catch (Throwable e) { TransactionAspectSupport.currentTransactionStatus() .setRollbackOnly(); } } public boolean addUsers(List<User> users) { for (User user : users) { …

2
application.yml รองรับตัวแปรสภาพแวดล้อมหรือไม่
ฉันลองใช้ตัวแปร env ในการกำหนดค่า application.yml ของฉันเช่น: spring: main: show_banner: false --- spring: profiles: production server: address: $OPENSHIFT_DIY_IP port: $OPENSHIFT_DIY_PORT แต่ตัวแปร env ไม่ได้รับการแก้ไข ฉันต้องระบุสัญกรณ์อื่นหรือไม่? ใน Rails คุณสามารถใช้ <% = ENV ['FOOVAR']%> ได้ ทางเลือกเดียวคือเรียกใช้แอปเช่น: java -jar my.jar --server.address=$OPENSHIFT_DIY_IP --server.port=$OPENSHIFT_DIY_PORT
111 java  spring  yaml  spring-boot 

30
แอปพลิเคชันนี้ไม่มีการแมป / error อย่างชัดเจน
ฉันใช้ maven เพื่อทำบทช่วยสอนhttps://spring.io/guides/gs/uploading-files/ รหัสทั้งหมดที่ฉันใช้ถูกคัดลอก แอปพลิเคชันสามารถทำงานได้ แต่ฉันได้รับข้อผิดพลาด: หน้าข้อผิดพลาด Whitelabel แอปพลิเคชันนี้ไม่มีการแมป / error อย่างชัดเจนดังนั้นคุณจึงเห็นสิ่งนี้เป็นทางเลือก อ. 30 มิ.ย. 17:24:02 น. CST 2015 เกิดข้อผิดพลาดที่ไม่คาดคิด (type = Not Found, status = 404) ไม่มีข้อความ จะแก้ไขได้อย่างไร?

4
ความแตกต่างระหว่าง @Valid และ @Validated ในฤดูใบไม้ผลิ
Spring รองรับสองวิธีการตรวจสอบที่แตกต่างกัน: การตรวจสอบความถูกต้องของสปริงและการตรวจสอบความถูกต้องของถั่ว JSR-303 ทั้งสองอย่างสามารถใช้ได้โดยการกำหนด Spring validator ที่มอบหมายให้กับ delegators อื่น ๆ รวมทั้ง bean validator จนถึงตอนนี้ดีมาก แต่เมื่อใส่คำอธิบายประกอบวิธีเพื่อขอการตรวจสอบความถูกต้องก็เป็นอีกเรื่องหนึ่ง ฉันสามารถใส่คำอธิบายประกอบแบบนี้ได้ @RequestMapping(value = "/object", method = RequestMethod.POST) public @ResponseBody TestObject create(@Valid @RequestBody TestObject obj, BindingResult result) { หรือแบบนี้ @RequestMapping(value = "/object", method = RequestMethod.POST) public @ResponseBody TestObject create(@Validated @RequestBody TestObject obj, BindingResult result) { …

9
วิธีกำหนดคุณสมบัติของ bean เป็นค่า Enum ในไฟล์ Spring config
ฉันมีประเภท enum แบบสแตนด์อโลนที่กำหนดไว้ดังนี้: package my.pkg.types; public enum MyEnumType { TYPE1, TYPE2 } ตอนนี้ฉันต้องการฉีดค่าของประเภทนั้นลงในคุณสมบัติ bean: <bean name="someName" class="my.pkg.classes"> <property name="type" value="my.pkg.types.MyEnumType.TYPE1" /> </bean> ... และไม่ได้ผล :( ฉันจะฉีด Enum ลงในถั่วสปริงได้อย่างไร?
109 java  spring 

9
ฉันสามารถตั้งค่า TTL สำหรับ @Cacheable ได้หรือไม่
ฉันกำลังลองใช้@Cacheableการสนับสนุนคำอธิบายประกอบสำหรับ Spring 3.1 และสงสัยว่ามีวิธีใดในการทำให้ข้อมูลแคชชัดเจนหลังจากเวลาผ่านไปโดยการตั้งค่า TTL หรือไม่ ตอนนี้จากสิ่งที่ฉันเห็นฉันต้องล้างมันออกด้วยตัวเองโดยใช้@CacheEvictและด้วยการใช้สิ่งนั้นร่วมกับ@Scheduledฉันสามารถใช้งาน TTL ได้ด้วยตัวเอง แต่ดูเหมือนว่าจะค่อนข้างมากสำหรับงานง่ายๆ
109 java  spring 

1
ทำความเข้าใจกับคลาส spring @Configuration
หลังจากคำถามทำความเข้าใจกับการใช้งาน Spring @Autowiredฉันต้องการสร้างฐานความรู้ที่สมบูรณ์สำหรับตัวเลือกอื่น ๆ ของการเดินสายสปริง@Configurationคลาส สมมติว่าฉันมีไฟล์ 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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <import resource="another-application-context.xml"/> <bean id="someBean" class="stack.overflow.spring.configuration.SomeClassImpl"> <constructor-arg value="${some.interesting.property}" /> </bean> <bean id="anotherBean" class="stack.overflow.spring.configuration.AnotherClassImpl"> <constructor-arg ref="someBean"/> <constructor-arg ref="beanFromSomewhereElse"/> </bean> </beans> ฉันจะใช้@Configurationแทนได้อย่างไร? มันมีผลกับตัวโค้ดหรือไม่?

8
Spring Cache @Cacheable - ไม่ทำงานขณะโทรจากวิธีอื่นของ bean เดียวกัน
Spring cache ไม่ทำงานเมื่อเรียกวิธีการแคชจากวิธีอื่นของ bean เดียวกัน นี่คือตัวอย่างเพื่ออธิบายปัญหาของฉันอย่างชัดเจน การกำหนดค่า: <cache:annotation-driven cache-manager="myCacheManager" /> <bean id="myCacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager"> <property name="cacheManager" ref="myCache" /> </bean> <!-- Ehcache library setup --> <bean id="myCache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" p:shared="true"> <property name="configLocation" value="classpath:ehcache.xml"></property> </bean> <cache name="employeeData" maxElementsInMemory="100"/> บริการแคช: @Named("aService") public class AService { @Cacheable("employeeData") public List<EmployeeData> getEmployeeData(Date date){ ..println("Cache is not being used"); …
108 java  spring  caching  ehcache 


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