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

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

3
จะเข้าถึงข้อมูลส่วนหัว HTTP ในคอนโทรลเลอร์ Spring MVC REST ได้อย่างไร
ฉันใหม่กับการเขียนโปรแกรมเว็บโดยทั่วไปโดยเฉพาะใน Java ดังนั้นฉันเพิ่งเรียนรู้ว่าส่วนหัวและร่างกายคืออะไร ฉันกำลังเขียนบริการ RESTful โดยใช้ Spring MVC ฉันสามารถสร้างบริการที่เรียบง่ายด้วย@RequestMappingในตัวควบคุมของฉัน ฉันต้องการความช่วยเหลือในการทำความเข้าใจวิธีรับข้อมูลส่วนหัว HTTP จากคำขอที่มาถึงวิธีการของฉันในส่วนควบคุมบริการ REST ของฉัน ฉันต้องการแยกวิเคราะห์ส่วนหัวและรับคุณลักษณะบางอย่างจากมัน คุณช่วยอธิบายได้อย่างไรว่าฉันจะไปรับข้อมูลนั้น

4
REST API - DTOs หรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ขณะนี้ฉันกำลังสร้าง REST-API สำหรับโครงการและได้อ่านบทความตามบทความเกี่ยวกับแนวทางปฏิบัติที่ดีที่สุด ดูเหมือนว่าหลายคนจะต่อต้าน DTO และเพียงแค่เปิดเผยรูปแบบโดเมนในขณะที่คนอื่น ๆ คิดว่า DTOs (หรือโมเดลผู้ใช้หรือสิ่งที่คุณต้องการเรียกใช้) เป็นแนวปฏิบัติที่ไม่ดี ส่วนตัวแล้วฉันคิดว่าบทความนี้มีเหตุผลมากมาย อย่างไรก็ตามฉันยังเข้าใจข้อเสียของ DTOs ด้วยรหัสการแมปพิเศษทั้งหมดโมเดลโดเมนที่อาจเหมือน 100% กับ DTO-counterpart และอื่น ๆ API ของเราส่วนใหญ่ถูกสร้างขึ้นเพื่อให้ลูกค้ารายอื่นอาจใช้ข้อมูลอย่างไรก็ตามถ้าเราทำถูกต้องเราก็ต้องการที่จะใช้มันสำหรับเว็บ GUI ของเราเองถ้าเป็นไปได้ สิ่งที่เราอาจไม่ต้องการเปิดเผยข้อมูลโดเมนทั้งหมดให้กับผู้ใช้ไคลเอนต์อื่น ๆ ข้อมูลส่วนใหญ่จะสมเหตุสมผลในเว็บแอพพลิเคชันของเราเอง นอกจากนี้เราอาจไม่ต้องการเปิดเผยข้อมูลทั้งหมดเกี่ยวกับวัตถุในทุกสถานการณ์โดยเฉพาะความสัมพันธ์กับวัตถุอื่น ๆ เป็นต้น ตัวอย่างเช่นหากเราแสดงรายการของวัตถุเฉพาะเราไม่จำเป็นต้องเปิดเผยลำดับชั้นวัตถุทั้งหมด เพื่อที่ลูกของวัตถุจะไม่ถูกเปิดเผย แต่สามารถค้นพบได้ผ่านลิงก์ (เกลียดชัง) ฉันควรจะแก้ไขปัญหานี้อย่างไร ฉันกำลังคิดที่จะใช้ Jackson mixins ในโมเดลโดเมนของเราเพื่อควบคุมข้อมูลที่จะได้รับจากสถานการณ์ที่แตกต่างกัน หรือเราควรใช้ DTO ตลอดทาง …
154 java  spring  rest  dto  hateoas 


4
javax.transaction.Transactional vs org.springframework.transaction.annotation.Transactional
ฉันไม่เข้าใจความแตกต่างที่แท้จริงระหว่างคำอธิบายประกอบjavax.transaction.Transactionalและorg.springframework.transaction.annotation.Transactionalอะไร คือorg.springframework.transaction.annotation.Transactionalการขยายjavax.transaction.Transactionalหรือพวกเขามีความหมายที่แตกต่างกันโดยสิ้นเชิง? เมื่อใดควรใช้แต่ละรายการ ฤดูใบไม้ผลิ@Transactinalในบริการชั้นและjavaxใน DAO? ขอบคุณสำหรับคำตอบ.

10
ทำไมฉันถึงใช้ Scala / Lift บน Java / Spring [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันรู้ว่าคำถามนี้เปิดอยู่เล็กน้อย แต่ฉันดู Scala / Lift แทน Java / Spring และฉันสงสัยว่าข้อดีที่แท้จริงที่ Scala / Lift มีอยู่นั้นคืออะไร จากมุมมองและประสบการณ์ของฉัน Java Annotations และ Spring ลดจำนวนการเข้ารหัสที่คุณต้องทำสำหรับแอปพลิเคชันให้น้อยที่สุด สกาลา / ลิฟท์ปรับปรุงตามนั้นหรือไม่?
151 java  spring  scala  lift 


30
intellij บอกไม่ถูกต้องว่าไม่พบชนิดของถั่วสำหรับที่เก็บอัตโนมัติ
ฉันได้สร้างการทดสอบหน่วยอย่างง่าย แต่ IntelliJ เน้นสีแดงไม่ถูกต้อง ทำเครื่องหมายว่าเป็นข้อผิดพลาด ไม่มีถั่ว? ดังที่คุณเห็นด้านล่างผ่านการทดสอบหรือไม่? ดังนั้นจึงต้องเป็นแบบ Autowired?

2
ความแตกต่างระหว่าง @Mock, @MockBean และ Mockito.mock ()
เมื่อสร้างการทดสอบและจำลองการอ้างอิงความแตกต่างระหว่างสามแนวทางนี้คืออะไร? @MockBean: @MockBean MyService myservice; @Mock: @Mock MyService myservice; Mockito.mock () MyService myservice = Mockito.mock(MyService.class);

4
วิธีการโพสต์ข้อมูลในแบบฟอร์มด้วย Spring RestTemplate
ฉันต้องการแปลงตัวอย่างข้อมูล curl (ทำงาน) ต่อไปนี้เป็นการเรียก RestTemplate: curl -i -X POST -d "email=first.last@example.com" https://app.example.com/hr/email ฉันจะส่งพารามิเตอร์อีเมลได้อย่างถูกต้องได้อย่างไร รหัสต่อไปนี้ส่งผลให้เกิดการตอบสนอง 404 ไม่พบ: String url = "https://app.example.com/hr/email"; Map<String, String> params = new HashMap<String, String>(); params.put("email", "first.last@example.com"); RestTemplate restTemplate = new RestTemplate(); ResponseEntity<String> response = restTemplate.postForEntity( url, params, String.class ); ฉันพยายามกำหนดการโทรที่ถูกต้องใน PostMan และฉันสามารถทำให้มันทำงานได้อย่างถูกต้องโดยการระบุพารามิเตอร์อีเมลเป็นพารามิเตอร์ "form-data" ในเนื้อหา วิธีที่ถูกต้องเพื่อให้บรรลุหน้าที่การทำงานนี้ใน RestTemplate คืออะไร?

8
ชื่อผู้ใช้และรหัสผ่านคืออะไรเมื่อเริ่มต้น Spring Boot ด้วย Tomcat
เมื่อฉันปรับใช้แอปพลิเคชัน Spring ผ่าน Spring Boot และการเข้าถึงlocalhost:8080ฉันต้องตรวจสอบสิทธิ์ แต่ชื่อผู้ใช้และรหัสผ่านคืออะไรฉันจะตั้งค่าได้อย่างไร ฉันพยายามที่จะเพิ่มลงในtomcat-usersไฟล์ของฉันแต่มันไม่ทำงาน: <role rolename="manager-gui"/> <user username="admin" password="admin" roles="manager-gui"/> นี่คือจุดเริ่มต้นของแอปพลิเคชัน: @SpringBootApplication public class Application extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } } และนี่คือการพึ่งพา Tomcat: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> ฉันจะตรวจสอบความถูกต้องได้localhost:8080อย่างไร

7
วิธีดึงข้อมูลการเชื่อมโยง FetchType.LAZY กับ JPA และไฮเบอร์เนตใน Spring Controller
ฉันมีคลาสบุคคล: @Entity public class Person { @Id @GeneratedValue private Long id; @ManyToMany(fetch = FetchType.LAZY) private List<Role> roles; // etc } ด้วยความสัมพันธ์แบบหลายต่อหลายคนที่ขี้เกียจ ในตัวควบคุมของฉันฉันมี @Controller @RequestMapping("/person") public class PersonController { @Autowired PersonRepository personRepository; @RequestMapping("/get") public @ResponseBody Person getPerson() { Person person = personRepository.findOne(1L); return person; } } และ PersonRepository เป็นเพียงรหัสนี้เขียนตามคู่มือนี้ public interface …

11
Spring MVC - วิธีคืนค่าสตริงธรรมดาเป็น JSON ใน Rest Controller
คำถามของฉันคือการติดตามนี้คำถาม @RestController public class TestController { @RequestMapping("/getString") public String getString() { return "Hello World"; } } ในข้างต้น Spring จะเพิ่ม "Hello World" ลงในเนื้อหาตอบกลับ ฉันจะส่งคืนสตริงเป็นการตอบสนอง JSON ได้อย่างไร ฉันเข้าใจว่าฉันสามารถเพิ่มคำพูดได้ แต่มันให้ความรู้สึกเหมือนแฮ็คมากกว่า โปรดยกตัวอย่างเพื่อช่วยอธิบายแนวคิดนี้ หมายเหตุ:ฉันไม่ต้องการให้สิ่งนี้เขียนตรงไปยังเนื้อหาการตอบสนองของ HTTP ฉันต้องการส่งคืน String ในรูปแบบ JSON (ฉันใช้ตัวควบคุมของฉันกับRestyGWTซึ่งต้องการให้การตอบกลับอยู่ในรูปแบบ JSON ที่ถูกต้อง)
146 java  json  spring  rest  spring-mvc 

2
ฤดูใบไม้ผลิ: ทำไมเราถึงได้รับอินเทอร์เฟซโดยอัตโนมัติและไม่ใช่คลาสที่นำมาใช้
ตัวอย่าง interface IA { public void someFunction(); } @Resource(name="b") class B implements IA { public void someFunction() { //busy code block } public void someBfunc() { //doing b things } } @Resource(name="c") class C implements IA { public void someFunction() { //busy code block } public void someCfunc() { //doing …

16
Spring MVC @PathVariable ถูกตัดทอน
ฉันมีตัวควบคุมที่ให้การเข้าถึงข้อมูลสงบ: @RequestMapping(method = RequestMethod.GET, value = Routes.BLAH_GET + "/{blahName}") public ModelAndView getBlah(@PathVariable String blahName, HttpServletRequest request, HttpServletResponse response) { ปัญหาที่ฉันพบคือถ้าฉันไปที่เซิร์ฟเวอร์ด้วยตัวแปรพา ธ ที่มีอักขระพิเศษมันจะถูกตัดทอน ตัวอย่างเช่น: http: // localhost: 8080 / blah-server / blah / get / blah2010.08.19-02: 25: 47 พารามิเตอร์ blahName จะเป็น blah2010.08 อย่างไรก็ตามการเรียกร้องให้ request.getRequestURI () มีข้อมูลทั้งหมดที่ส่งผ่าน มีความคิดใดที่จะป้องกันไม่ให้ Spring ตัดทอน @PathVariable
142 java  spring  rest  spring-mvc  get 

4
ความแตกต่างของคำนำหน้า classpath ฤดูใบไม้ผลิ
เอกสารที่นี่มันระบุ คำนำหน้าพิเศษนี้ระบุว่าทรัพยากร classpath ทั้งหมดที่ตรงกับชื่อที่กำหนดจะต้องได้รับ (ภายในสิ่งนี้เกิดขึ้นเป็นหลักผ่านการเรียก ClassLoader.getResources (... )) จากนั้นผสานเพื่อสร้างนิยามบริบทของแอปพลิเคชันสุดท้าย มีคนอธิบายเรื่องนี้ได้ไหม อะไรคือความแตกต่างระหว่างการใช้classpath*:conf/appContext.xmlเมื่อเทียบกับที่classpath:conf/appContext.xmlไม่มีเครื่องหมายดอกจัน
141 java  spring  classpath 

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