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

Spring Boot เป็นเฟรมเวิร์กที่อนุญาตให้สร้างแอพพลิเคชั่นและบริการระดับคุณภาพการผลิตจากสปริงได้อย่างง่ายดายด้วยความยุ่งยากน้อยที่สุด ใช้มุมมองที่มีความคิดเห็นเกี่ยวกับแพลตฟอร์ม Spring ที่ออกแบบมาเพื่อทำงานกับผู้ใช้ใหม่และมีประสบการณ์ของ Spring

9
ฉันจะบอก Spring Boot ได้อย่างไรว่าคลาสหลักใดที่จะใช้สำหรับ jar ที่ปฏิบัติการได้?
Execution default of goal org.springframework.boot:spring-boot-maven-plugin:1.0.1.RELEASE:repackage failed: Unable to find a single main class from the following candidates โครงการของฉันมีมากกว่าหนึ่งคลาสด้วยmainวิธีการ ฉันจะบอกปลั๊กอิน Spring Boot Maven ว่าควรใช้คลาสใดเป็นคลาสหลัก

17
Spring Boot - กำลังโหลดข้อมูลเริ่มต้น
ฉันสงสัยว่าวิธีที่ดีที่สุดในการโหลดข้อมูลฐานข้อมูลเริ่มต้นก่อนที่แอปพลิเคชันจะเริ่มต้นอย่างไร สิ่งที่ฉันกำลังมองหาคือสิ่งที่จะเติมฐานข้อมูล H2 ของฉันด้วยข้อมูล ตัวอย่างเช่นฉันมีรูปแบบโดเมน "ผู้ใช้" ฉันสามารถเข้าถึงผู้ใช้โดยไปที่ / ผู้ใช้ แต่เริ่มแรกจะไม่มีผู้ใช้ในฐานข้อมูลดังนั้นฉันต้องสร้างพวกเขา อย่างไรก็ตามมีการเติมข้อมูลด้วยฐานข้อมูลโดยอัตโนมัติหรือไม่? ในขณะนี้ฉันมี Bean ที่ได้รับอินสแตนซ์โดยคอนเทนเนอร์และสร้างผู้ใช้สำหรับฉัน ตัวอย่าง: @Component public class DataLoader { private UserRepository userRepository; @Autowired public DataLoader(UserRepository userRepository) { this.userRepository = userRepository; LoadUsers(); } private void LoadUsers() { userRepository.save(new User("lala", "lala", "lala")); } } แต่ฉันสงสัยมากว่าเป็นวิธีที่ดีที่สุดในการทำมัน หรือมันคืออะไร?

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 ถ้าไม่พบวิธีจัดการสำหรับลายเซ็นเส้นทางขอ) …

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
การตั้งค่าโปรไฟล์ที่ใช้งานและกำหนดค่าตำแหน่งจากบรรทัดคำสั่งในฤดูใบไม้ผลิบูต
ฉันมีแอพพลิเคชั่นบู๊ทสปริง ฉันมีสามโปรไฟล์ในโปรแกรมประยุกต์ของฉัน> การพัฒนา, การแสดงละครและการผลิต ดังนั้นฉันมี 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 วันที่ผ่านมา …

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: …

9
การกำหนดค่า yaml ของ Spring Boot สำหรับรายการสตริง
ฉันพยายามโหลดอาร์เรย์ของสตริงจากไฟล์ application.yml นี่คือการกำหนดค่า: ignore: filenames: - .DS_Store - .hg นี่คือคลาส: @Value("${ignore.filenames}") private List<String> igonoredFileNames = new ArrayList<>(); มีการกำหนดค่าอื่น ๆ ในคลาสเดียวกันที่โหลดได้ดี ไม่มีแท็บในไฟล์ yaml ของฉัน ฉันยังได้รับข้อยกเว้นต่อไปนี้: Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'ignore.filenames' in string value "${ignore.filenames}"
149 spring-boot 

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

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อย่างไร

17
Spring boot - ไม่ใช่ประเภทที่มีการจัดการ
ฉันใช้ Spring boot + JPA และมีปัญหาขณะเริ่มบริการ Caused by: java.lang.IllegalArgumentException: Not an managed type: class com.nervytech.dialer.domain.PhoneSettings at org.hibernate.jpa.internal.metamodel.MetamodelImpl.managedType(MetamodelImpl.java:219) at org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformation.<init>(JpaMetamodelEntityInformation.java:68) at org.springframework.data.jpa.repository.support.JpaEntityInformationSupport.getMetadata(JpaEntityInformationSupport.java:65) at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getEntityInformation(JpaRepositoryFactory.java:145) at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:89) at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:69) at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:177) at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.initAndReturn(RepositoryFactoryBeanSupport.java:239) at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:225) at org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:92) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1625) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1562) นี่คือไฟล์ Application.java @Configuration @ComponentScan @EnableAutoConfiguration(exclude = { DataSourceAutoConfiguration.class }) @SpringBootApplication public …

10
Java Spring Boot: จะแมปรูทแอปของฉัน (“ /”) กับ index.html ได้อย่างไร?
ฉันเพิ่งเริ่มใช้ Java และ Spring ฉันจะแมปรูทแอปของฉันhttp://localhost:8080/กับแบบคงที่ได้index.htmlอย่างไร ถ้าฉันไปที่http://localhost:8080/index.htmlมันใช้งานได้ดี โครงสร้างแอปของฉันคือ: ของฉันconfig\WebConfig.javaมีลักษณะดังนี้: @Configuration @EnableWebMvc @ComponentScan public class WebConfig extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**").addResourceLocations("/"); } } ฉันพยายามเพิ่มregistry.addResourceHandler("/").addResourceLocations("/index.html");แต่มันล้มเหลว
134 java  spring  spring-boot 

12
ฉันจะเปิดใช้งานโปรไฟล์ Spring Boot ได้อย่างไรเมื่อเรียกใช้จาก IntelliJ
ฉันมี 5 สภาพแวดล้อม: - local (my development machine) - dev - qc - uat - live - staging ฉันต้องการใช้คุณสมบัติแอปพลิเคชันที่แตกต่างกันสำหรับแต่ละสภาพแวดล้อมดังนั้นฉันมีไฟล์คุณสมบัติต่อไปนี้ซึ่งแต่ละไฟล์มี URL ที่แตกต่างกันสำหรับแหล่งข้อมูล: - application.properties (containing common properties) - application-local.properties - application-dev.properties - application-qc.properties - application-uat.properties - application-live.properties ฉันใช้ IntelliJ และเรียกใช้แอปของฉันโดยใช้ bootRun ในปลั๊กอิน Gradle บนเครื่องของฉัน ฉันจะใช้การปรับใช้ไฟล์แอปพลิเคชั่นไฟล์เดียวกันบนสภาพแวดล้อมอื่น ๆ ทั้งหมดที่รัน Tomcat ฉันได้ลองเพิ่ม: --spring.profiles.active = …

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