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

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

16
เพิ่มเส้นทางบริบทให้กับแอปพลิเคชัน Spring Boot
ฉันกำลังพยายามตั้งค่ารูทบริบทของแอปพลิเคชัน Spring Boot โดยทางโปรแกรม เหตุผลสำหรับรูทบริบทคือเราต้องการให้แอปเข้าถึงได้localhost:port/{app_name}และให้พา ธ คอนโทรลเลอร์ทั้งหมดต่อท้าย นี่คือไฟล์กำหนดค่าแอปพลิเคชันสำหรับเว็บแอป @Configuration public class ApplicationConfiguration { Logger logger = LoggerFactory.getLogger(ApplicationConfiguration.class); @Value("${mainstay.web.port:12378}") private String port; @Value("${mainstay.web.context:/mainstay}") private String context; private Set<ErrorPage> pageHandlers; @PostConstruct private void init(){ pageHandlers = new HashSet<ErrorPage>(); pageHandlers.add(new ErrorPage(HttpStatus.NOT_FOUND,"/notfound.html")); pageHandlers.add(new ErrorPage(HttpStatus.FORBIDDEN,"/forbidden.html")); } @Bean public EmbeddedServletContainerFactory servletContainer(){ TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory(); …

27
Spring Boot: ไม่สามารถเริ่ม EmbeddedWebApplicationContext ได้เนื่องจากไม่พบ EmbeddedServletContainerFactory bean
ฉันยังใหม่กับสปริงโดยสิ้นเชิงและเริ่มทำคู่มืออย่างเป็นทางการจากเว็บไซต์นี้: https://spring.io/guides ฉันต้องการทำคู่มือนี้: https://spring.io/guides/gs/scheduling-tasks/ ฉันได้รับข้อยกเว้นดังต่อไปนี้: 2014-02-14 16:25:21.614 INFO 9032 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.scheduling.annotation.SchedulingConfiguration' of type [class org.springframework.scheduling.annotation.SchedulingConfiguration$$EnhancerByCGLIB$$5b48d763] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2014-02-14 16:25:21.638 INFO 9032 --- [ main] .c.l.ClasspathLoggingApplicationListener : Application failed to start with classpath: …
173 java  spring  spring-boot 

23
Spring Boot ไม่แสดงเนื้อหาคงที่
ฉันไม่สามารถรับ Spring-boot project เพื่อแสดงเนื้อหาแบบคงที่ได้ ผมเคยวางโฟลเดอร์ชื่อภายใต้static ข้างในฉันมีโฟลเดอร์ชื่อsrc/main/resources imagesเมื่อฉันจัดทำแอพและเรียกใช้มันไม่สามารถค้นหารูปภาพที่ฉันวางไว้ในโฟลเดอร์นั้นได้ ฉันได้พยายามที่จะนำไฟล์คงในpublic, resourcesและMETA-INF/resourcesแต่ผลงานอะไร ถ้าฉัน jar -tvf app.jar ฉันเห็นว่าไฟล์นั้นอยู่ใน jar ในโฟลเดอร์ด้านขวา: /static/images/head.pngตัวอย่างเช่น แต่เรียก: http://localhost:8080/images/head.pngสิ่งที่ฉันได้รับคือ404 แนวคิดใดที่ว่าทำไมสปริงบูตไม่พบสิ่งนี้? (ฉันใช้ 1.1.4 BTW)

10
การจัดการข้อยกเว้นบริการ Spring Boot REST
ฉันกำลังพยายามตั้งค่าเซิร์ฟเวอร์บริการ REST ขนาดใหญ่ เรากำลังใช้ Spring Boot 1.2.1 Spring 4.1.5 และ Java 8 ตัวควบคุมของเรากำลังใช้งาน @RestController และคำอธิบายประกอบ @RequestMapping มาตรฐาน ปัญหาของฉันที่ฤดูใบไม้ผลิ Boot /errorตั้งค่าการเปลี่ยนเส้นทางเริ่มต้นสำหรับข้อยกเว้นในการควบคุม จากเอกสาร: Spring Boot จัดให้มีการแมป / ข้อผิดพลาดตามค่าเริ่มต้นที่จัดการข้อผิดพลาดทั้งหมดอย่างสมเหตุสมผลและมีการลงทะเบียนเป็นหน้าข้อผิดพลาด 'สากล' ในคอนเทนเนอร์ servlet มาจากหลายปีที่เขียนแอปพลิเคชัน REST ด้วย Node.js นี่คือสิ่งที่สมเหตุสมผล ข้อยกเว้นใด ๆ ที่จุดปลายบริการสร้างขึ้นควรกลับมาในการตอบกลับ ฉันไม่สามารถเข้าใจได้ว่าทำไมคุณถึงส่งการเปลี่ยนเส้นทางไปยังผู้ใช้ Angular หรือ JQuery SPA ซึ่งน่าจะเป็นคำตอบเท่านั้นและไม่สามารถหรือไม่ดำเนินการใด ๆ ในการเปลี่ยนเส้นทาง สิ่งที่ฉันต้องการจะทำคือการตั้งค่าตัวจัดการข้อผิดพลาดทั่วโลกที่สามารถยกเว้น - อย่างใดอย่างหนึ่งโยนออกมาจากวิธีการทำแผนที่การร้องขอหรือสร้างขึ้นโดยอัตโนมัติโดยฤดูใบไม้ผลิ (404 ถ้าไม่พบวิธีจัดการสำหรับลายเซ็นเส้นทางขอ) …

14
POST JSON ล้มเหลวด้วย 415 ประเภทสื่อที่ไม่รองรับ, Spring 3 mvc
ฉันพยายามส่งคำขอ POST ไปยัง servlet ส่งคำขอผ่าน jQuery ด้วยวิธีนี้: var productCategory = new Object(); productCategory.idProductCategory = 1; productCategory.description = "Descrizione2"; newCategory(productCategory); โดยที่ newCategory คือ function newCategory(productCategory) { $.postJSON("ajax/newproductcategory", productCategory, function( idProductCategory) { console.debug("Inserted: " + idProductCategory); }); } และ postJSON คือ $.postJSON = function(url, data, callback) { return jQuery.ajax({ 'type': 'POST', 'url': …

8
วิธีรับ UserDetails ของผู้ใช้ที่ใช้งานอยู่
ในตัวควบคุมของฉันเมื่อฉันต้องการผู้ใช้ที่ใช้งานอยู่ (ล็อกอิน) ฉันกำลังทำสิ่งต่อไปนี้เพื่อให้เกิดUserDetailsการใช้งานของฉัน: User activeUser = (User)SecurityContextHolder.getContext().getAuthentication().getPrincipal(); log.debug(activeUser.getSomeCustomField()); มันใช้งานได้ดี แต่ฉันคิดว่า Spring จะทำให้ชีวิตง่ายขึ้นในกรณีเช่นนี้ มีวิธีที่จะUserDetailsautowired เป็นทั้งตัวควบคุมหรือวิธีการหรือไม่ ตัวอย่างเช่น: public ModelAndView someRequestHandler(Principal principal) { ... } แต่แทนที่จะได้รับUsernamePasswordAuthenticationTokenฉันจะได้รับUserDetailsแทนหรือไม่ ฉันกำลังมองหาทางออกที่สง่างาม ความคิดใด ๆ

15
บทบาท / วัตถุประสงค์ของ ContextLoaderListener ใน Spring?
ฉันกำลังเรียนรู้Spring Frameworkที่ใช้ในโครงการของฉัน ฉันพบ รายการContextLoaderListenerในไฟล์web.xmlของฉัน แต่ไม่สามารถทราบได้ว่ามันช่วยนักพัฒนาได้อย่างไร ในเอกสารอย่างเป็นทางการของContextLoaderListenerมันบอกว่ามันคือการเริ่มต้นWebApplicationContext เกี่ยวกับWebApplicationContext JavaDocs พูดว่า: อินเตอร์เฟสเพื่อจัดเตรียมคอนฟิกูเรชันสำหรับเว็บแอ็พพลิเคชัน แต่ฉันไม่สามารถเข้าใจสิ่งที่ฉันประสบความสำเร็จด้วยContextLoaderListenerซึ่งเริ่มต้นWebApplicationContextภายในได้หรือไม่ ตามความเข้าใจของฉัน , ContextLoaderListener อ่านแฟ้มการกำหนดค่าฤดูใบไม้ผลิ (มีค่าที่กำหนดกับ contextConfigLocation ในweb.xml ) แยกวิเคราะห์และโหลดถั่วเดี่ยวที่กำหนดไว้ในไฟล์ config ว่า ในทำนองเดียวกันเมื่อเราต้องการโหลดถั่วต้นแบบเราจะใช้บริบท webapplication เดียวกันในการโหลด ดังนั้นเราเริ่มต้น webapplication ด้วยContextLoaderListenerเพื่อให้เราอ่าน / แยก / ตรวจสอบไฟล์ config ล่วงหน้าและเมื่อใดก็ตามที่เราต้องการฉีดพึ่งพาเราสามารถทำได้ทันทีโดยไม่ล่าช้า ความเข้าใจนี้ถูกต้องหรือไม่

3
Spring CrudRepository findByInventoryIds (รายการ <Long> inventoryIdList) - เทียบเท่ากับ IN clause
ใน Spring CrudRepository เรามีการสนับสนุน "ในอนุประโยค" สำหรับฟิลด์หรือไม่? สิ่งที่คล้ายกับต่อไปนี้คืออะไร? findByInventoryIds(List&lt;Long&gt; inventoryIdList) หากการสนับสนุนดังกล่าวไม่สามารถใช้งานได้จะมีการพิจารณาตัวเลือกอะไรบ้าง คิวรีการยิงสำหรับแต่ละ id อาจไม่เหมาะสม

12
เหตุใดแอพ Spring Boot ของฉันจึงปิดเครื่องทันทีหลังจากเริ่มต้น?
นี่คือรหัส Spring Boot แรกของฉัน น่าเสียดายที่มันปิดตัวลงเสมอ ฉันคาดหวังให้มันทำงานอย่างต่อเนื่องเพื่อให้เว็บไคลเอ็นต์ของฉันสามารถรับข้อมูลบางอย่างจากเบราว์เซอร์ package hello; import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.stereotype.*; import org.springframework.web.bind.annotation.*; @Controller @EnableAutoConfiguration public class SampleController { @RequestMapping("/") @ResponseBody String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(SampleController.class, args); } } [@localhost initial]$ java -jar build/libs/gs-spring-boot-0.1.0.jar . ____ …
164 java  spring  spring-boot 

10
การตั้งค่าโปรไฟล์ที่ใช้งานและกำหนดค่าตำแหน่งจากบรรทัดคำสั่งในฤดูใบไม้ผลิบูต
ฉันมีแอพพลิเคชั่นบู๊ทสปริง ฉันมีสามโปรไฟล์ในโปรแกรมประยุกต์ของฉัน&gt; การพัฒนา, การแสดงละครและการผลิต ดังนั้นฉันมี 3 ไฟล์ แอพลิเคชัน development.yml แอพลิเคชัน staging.yml แอพลิเคชัน production.yml ฉันapplication.ymlsrc/main/resourcesอยู่ภายใน ฉันได้ตั้งค่าโปรไฟล์ที่ใช้งานใน application.yml เป็น: spring: profiles.active: development ไฟล์กำหนดค่าเฉพาะโปรไฟล์อีก 3 รายการจะอยู่ในC:\configโฟลเดอร์ ฉันกำลังใช้โปรแกรมเสริม Gradle สำหรับ eclipse เมื่อฉันพยายามทำ " bootRun " ฉันกำลังตั้งค่าอาร์กิวเมนต์บรรทัดคำสั่งในการกำหนดค่า gradle ของฉันใน eclipse เป็น -Dspring.profiles.active=staging -Dspring.config.location=C:\Config อย่างไรก็ตามคุณสมบัติบรรทัดคำสั่งไม่ได้รับการสะท้อนและโปรไฟล์ที่ใช้งานของฉันได้รับการตั้งค่าเป็นการพัฒนาเสมอ (ซึ่งเป็นสิ่งที่ฉันได้กล่าวถึงในไฟล์ applications.yml) และโฟลเดอร์ C: \ Config จะไม่ค้นหาไฟล์กำหนดค่าโปรไฟล์โดยเฉพาะ ฉันคิดว่าฉันขาดอะไรบางอย่างที่นี่ ฉันพยายามคิดออกมา 2 วันที่ผ่านมา …

4
เมื่อใช้ ResponseEntity <T> และ @RestController สำหรับแอปพลิเคชัน Spring RESTful
ฉันทำงานกับ Spring Framework 4.0.7 พร้อมด้วย MVC และ Rest ฉันสามารถทำงานด้วยความสงบสุขด้วย: @Controller ResponseEntity&lt;T&gt; ตัวอย่างเช่น: @Controller @RequestMapping("/person") @Profile("responseentity") public class PersonRestResponseEntityController { ด้วยวิธีการ (เพียงเพื่อสร้าง) @RequestMapping(value="/", method=RequestMethod.POST) public ResponseEntity&lt;Void&gt; createPerson(@RequestBody Person person, UriComponentsBuilder ucb){ logger.info("PersonRestResponseEntityController - createPerson"); if(person==null) logger.error("person is null!!!"); else logger.info("{}", person.toString()); personMapRepository.savePerson(person); HttpHeaders headers = new HttpHeaders(); headers.add("1", "uno"); //http://localhost:8080/spring-utility/person/1 headers.setLocation(ucb.path("/person/{id}").buildAndExpand(person.getId()).toUri()); …

8
วิธีการใช้ JNDI DataSource ของ Tomcat ใน Spring
ว่ากันว่าในบทความ Spring javadoc เกี่ยวกับDriverManagerDataSourceคลาสนั้นคลาสนี้ง่ายมากและแนะนำ เพื่อใช้ JNDI DataSource ที่จัดทำโดยคอนเทนเนอร์ a DataSourceสามารถถูกเปิดเผยเป็นDataSourcebean ใน Spring ApplicationContext ผ่านJndiObjectFactoryBean คำถามคือฉันจะทำสิ่งนี้ได้อย่างไร ตัวอย่างเช่นถ้าฉันต้องการให้DataSourcebean เข้าถึงฐานข้อมูล MySQL ที่กำหนดเองฉันจะต้องใช้อะไร ฉันควรเขียนอะไรในการกำหนดค่าบริบท ฯลฯ
159 java  spring  tomcat  datasource  jndi 

14
Spring Boot ลบหน้าข้อผิดพลาด Whitelabel
ฉันกำลังพยายามลบหน้าข้อผิดพลาดของ white label ดังนั้นสิ่งที่ฉันทำไปแล้วคือสร้างการแมปคอนโทรลเลอร์สำหรับ "/ error" @RestController public class IndexController { @RequestMapping(value = "/error") public String error() { return "Error handling"; } } แต่ตอนนี้ฉันได้รับข้อผิดพลาดนี้ Exception in thread "AWT-EventQueue-0" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/web/servlet/config/annotation/DelegatingWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: …

3
<mvc: annotation-driven /> และ <context: annotation-config /> ใน servlet แตกต่างกันอย่างไร
ฉันกำลังย้ายจาก Spring 2.5 เป็น Spring 3 พวกเขาได้แนะนำ&lt;mvc:annotation-driven /&gt;เวทมนตร์ดำ สิ่งนี้คาดว่าจะถูกประกาศในไฟล์การกำหนดค่า servlet เท่านั้น ในฤดูใบไม้ผลิ 2.5 ฉันเพิ่งใช้&lt;context:annotation-config /&gt;และ&lt;context:component-scan base='...'/&gt;แท็กประกาศทั้งในapplication-context.xmlและกำหนดค่า servlet XML XML กับแพคเกจฐานที่เหมาะสมในการสแกน ดังนั้นฉันสงสัยว่าความแตกต่างระหว่างmvc:annotation-drivenและcontext:annotation-configแท็กในการกำหนดค่า servlet และสิ่งที่ฉันสามารถกำจัดในไฟล์กำหนดค่า Spring 3 คืออะไร?

6
คุณจะรับโปรไฟล์สภาพแวดล้อมที่แอ็คทีฟ / ค่าเริ่มต้นปัจจุบันโดยทางโปรแกรมใน Spring ได้อย่างไร
ฉันต้องการรหัสตรรกะที่แตกต่างกันตามโปรไฟล์สภาพแวดล้อมปัจจุบัน คุณจะรับโปรไฟล์ที่ใช้งานและเริ่มต้นปัจจุบันจาก Spring ได้อย่างไร

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