Spring Boot: Không thể khởi động EmbeddedWebApplicationContext do thiếu bean EmbeddedServletContainerFactory


173

Tôi hoàn toàn mới với Spring và bắt đầu làm hướng dẫn chính thức từ trang web này: https://spring.io/guides

Tôi muốn làm hướng dẫn này: https://spring.io/guides/gs/scheduling-t task /

Tôi nhận được Ngoại lệ sau:

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: [file:/C:/work/Spring/SpringTutorial/target/classes/, file:/C:/work/apache-maven-3.0.3/repo/javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter/1.0.0.RC1/spring-boot-starter-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot/1.0.0.RC1/spring-boot-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-core/4.0.0.RELEASE/spring-core-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-context/4.0.0.RELEASE/spring-context-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-autoconfigure/1.0.0.RC1/spring-boot-autoconfigure-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter-logging/1.0.0.RC1/spring-boot-starter-logging-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/jcl-over-slf4j/1.7.5/jcl-over-slf4j-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/jul-to-slf4j/1.7.5/jul-to-slf4j-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/org/slf4j/log4j-over-slf4j/1.7.5/log4j-over-slf4j-1.7.5.jar, file:/C:/work/apache-maven-3.0.3/repo/ch/qos/logback/logback-classic/1.0.13/logback-classic-1.0.13.jar, file:/C:/work/apache-maven-3.0.3/repo/ch/qos/logback/logback-core/1.0.13/logback-core-1.0.13.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter-web/1.0.0.RC1/spring-boot-starter-web-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/boot/spring-boot-starter-tomcat/1.0.0.RC1/spring-boot-starter-tomcat-1.0.0.RC1.jar, file:/C:/work/apache-maven-3.0.3/repo/org/apache/tomcat/embed/tomcat-embed-core/7.0.47/tomcat-embed-core-7.0.47.jar, file:/C:/work/apache-maven-3.0.3/repo/org/apache/tomcat/embed/tomcat-embed-logging-juli/7.0.47/tomcat-embed-logging-juli-7.0.47.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-web/4.0.0.RELEASE/spring-web-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/aopalliance/aopalliance/1.0/aopalliance-1.0.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-aop/4.0.0.RELEASE/spring-aop-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-beans/4.0.0.RELEASE/spring-beans-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-webmvc/4.0.0.RELEASE/spring-webmvc-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/org/springframework/spring-expression/4.0.0.RELEASE/spring-expression-4.0.0.RELEASE.jar, file:/C:/work/apache-maven-3.0.3/repo/com/fasterxml/jackson/core/jackson-databind/2.3.1/jackson-databind-2.3.1.jar, file:/C:/work/apache-maven-3.0.3/repo/com/fasterxml/jackson/core/jackson-annotations/2.3.0/jackson-annotations-2.3.0.jar, file:/C:/work/apache-maven-3.0.3/repo/com/fasterxml/jackson/core/jackson-core/2.3.1/jackson-core-2.3.1.jar, file:/C:/work/apache-maven-3.0.3/repo/commons-lang/commons-lang/2.2/commons-lang-2.2.jar]
Exception in thread "main" org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:140)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:476)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:124)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:658)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:355)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:920)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:909)
    at hu.kumite.Application.main(Application.java:17)
Caused by: org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.getEmbeddedServletContainerFactory(EmbeddedWebApplicationContext.java:190)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:163)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:137)
    ... 7 more

Lớp khởi động ứng dụng là đây:

@ComponentScan
@EnableAutoConfiguration
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(ScheduledTasks.class, args);
    }
}

Như bạn có thể thấy, phương thức chính chứa một dòng nhận xét. Tôi đã thực hiện một hướng dẫn, cụ thể là hướng dẫn này: https://spring.io/guides/gs/consuming-rest/ Nó đang hoạt động. Nhưng tôi không thể chạy ứng dụng Lịch trình, đó là:

@EnableScheduling
public class ScheduledTasks {

    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");

    @Scheduled(fixedRate = 5000)
    public void reportCurrentTime() {
        System.out.println("The time is now " + dateFormat.format(new Date()));
    }
}

Tôi sử dụng Eclipse và chạy ứng dụng chính của Application.java dưới dạng Ứng dụng. Có thể ai đó hãy giúp tôi?

Câu trả lời:


66

Hướng dẫn lập lịch không phải là một ứng dụng web để bạn có thể có một số nội dung bị mốc trong pom.xml của bạn từ hướng dẫn REST? Nếu bạn làm theo các hướng dẫn chặt chẽ, nó sẽ làm việc. Một vấn đề tiềm năng khác với mã bạn đã đăng ở trên là @EnableAutoConfigurationlớp của bạn không được sử dụng trong ngữ cảnh, chỉ là một phương thức chính (có thể không phải là vấn đề đối với hướng dẫn lập lịch nhưng có lẽ là cho một nhóm người khác).


1
Tôi đang thực hiện tất cả các hướng dẫn trong một dự án Eclipse kết thúc với một pom khổng lồ. Tôi đặt nó trong một dự án riêng biệt bằng cách sử dụng pom từ hướng dẫn và bây giờ nó hoạt động hoàn hảo. Cảm ơn bạn đã giúp đỡ! Điều gì xảy ra nếu tôi muốn một trình lập lịch biểu trong ứng dụng web Spring bằng API này? Tôi không thể làm điều đó?
Kumite

Nguồn bạn có thể làm điều đó. Nhưng sau đó bạn sẽ cần tất cả các phụ thuộc cho một ứng dụng web.
Dave Syer

1
Nhưng sau đó tôi kết thúc với Ngoại lệ mà bạn có thể thấy trong phần mở luồng. Xin lỗi, tôi nghĩ rằng tôi đang thiếu một cái gì đó. Tôi có nên đăng pom.xml "xấu" ở đây không?
Kumite

1
Một pom "tốt" sẽ có "spring-boot-starter-web" (để thuận tiện) hoặc nếu không thì tất cả các phụ thuộc có trong bộ khởi động được liệt kê riêng lẻ. Chỉ cần kiểm tra rằng bạn có chúng. Ngoài ra, hãy đảm bảo bạn bao gồm một @EnableAutoConfigurationtrong SpringApplication(đoạn mã ở trên không).
Dave Syer

6
Hoạt động hoàn hảo, tôi không thể cảm ơn bạn đủ. Và để nó hoạt động, tôi đã phải thêm các lớp để chạy trong một mảng Object vào phương thức chạy của SpringApplication:SpringApplication.run(new Object[]{Application.class, ScheduledTasks.class}, args);
Kumite

48

Bản quét của @SpringBootApplicationchương trình cho thấy nó bao gồm các chú thích sau:

@Configuration
@ComponentScan
@EnableAutoConfiguration

Vì vậy, bạn cũng có thể làm điều này:

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
       SpringApplication.run(ScheduledTasks.class, args);
    }
}

29

sử dụng cái này trong tệp pom.xml của bạn:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
</dependency>

hoặc cái này:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>

1
Thêm 2 bình làm việc cho tôi quá. Tôi đã phải sử dụng cả hai mặc dù
Fafore Tunde

1
@FaforeTunde đó không phải là một dấu hiệu tốt, hãy xem cây phụ thuộc của bạn và kiểm tra xem bạn đã sử dụng thẻ <scope> trong đó chưa.
Pasha GR

27

Tôi đã có nhiều lớp ứng dụng trong một dự án Spring Boot có web bắt đầu và muốn tránh nó cấu hình môi trường web cho một trong số chúng vì vậy tôi đã cấu hình thủ công như sau:

@SpringBootApplication
public class Application
{
    public static void main(String[] args)
    {
        new SpringApplicationBuilder(Application.class)
            .web(false)
            .run(args);
    }
}

CẬP NHẬT cho Spring Boot 2 trở lên:

@SpringBootApplication
public class Application
{
    public static void main(String[] args)
    {
        new SpringApplicationBuilder(Application.class)
            .web(WebApplicationType.NONE)
            .run(args);
    }
}

23

Thử cái này

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {
    public static void main(String[] args) {
       SpringApplication.run(ScheduledTasks.class, args);
    }
}

20

Lỗi cho thấy ứng dụng bạn đang cố chạy không thể khởi tạo một thể hiện của tomcat apache. Hãy chắc chắn rằng bạn đang chạy ứng dụng với tomcat.

nếu sau khi kiểm tra tất cả các phụ thuộc mà bạn gặp phải cùng một vấn đề, hãy thử thêm phần sau vào lớp cấu hình của bạn

@Bean
public EmbeddedServletContainerFactory servletContainer() {
    TomcatEmbeddedServletContainerFactory factory = 
                  new TomcatEmbeddedServletContainerFactory();
    return factory;
 }

Nếu bạn đang sử dụng một phiên bản bên ngoài của tomcat (đặc biệt là intellij), vấn đề có thể là IDE đang cố gắng khởi động tomcat nhúng. Trong trường hợp này, hãy xóa phần sau khỏi tệp pom.xml của bạn sau đó định cấu hình tomcat bên ngoài bằng trình hướng dẫn 'Chỉnh sửa cấu hình'.

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-tomcat</artifactId>
     <scope>provided</scope>
</dependency> 

2
Câu trả lời chính xác! Nó giải quyết vấn đề của tôi. Tuy nhiên, nó đã làm việc trong intellij. Khi tôi tạo bình bằng cách sử dụng plugin maven bóng râm, cùng một đường dẫn lớp đã được tạo để tôi không thực sự hiểu chuyện gì đã xảy ra.
học việc

14

Thêm vào

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

8

nếu bạn gặp ngoại lệ này trong khi sử dụng intellij và bạn đang cố gắng khởi động ứng dụng bằng runnút. Thay vào đó, hãy thử khởi động ứng dụng từ dòng lệnh. Ví dụ, đảm bảo rằng bạn đang ở đúng thư mục (thư mục chứa tệp pom của bạn) giả sử đây là một springbootứng dụng chạy, mvn spring-boot:runđiều này đã tạo ra mánh khóe cho tôi.

Ngoài ra, tôi cũng đã thấy lỗi này xảy ra khi ứng dụng mùa xuân của bạn phụ thuộc vào ứng dụng khác. Trong trường hợp này tôi phải khởi động ứng dụng khác trước rồi mới chạy.


1
Khởi động lại IntelliJ (Ultimate 2016.3 tại đây) đã sửa nó cho tôi
mangusbrother

Ngoài giải pháp đưa ra của Hầu tước ở trên, tôi đảm bảo rằng tôi đã chọn đúng phiên bản kết hợp mvn và jdk để chạymvn spring-boot:run
lnaraimhan

6

Thêm chú thích @SpringBootApplicationTrước khi lớp khởi động khắc phục sự cố này cho tôi (vì vậy về bản chất, thông báo lỗi này có thể có nghĩa là "bạn không có một @SpringBootApplicationlớp được đánh dấu ở bất cứ đâu, bạn cần ít nhất một)

@SpringBootApplication
public class AppStarter {

    public static void main(String[] args) {
        SpringApplication.run(AppStarter.class, args);
    }
}

4

Tôi đã gặp vấn đề tương tự khi phương thức chính nằm trên một lớp khác so với phương thức được truyền cho SpringApplcation.run ()

Vì vậy, giải pháp sẽ là sử dụng dòng bạn đã nhận xét:

public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

3

Nếu bạn đóng gói dưới dạng một jar duy nhất và đó không phải là ứng dụng web, hãy thử tải ngữ cảnh ứng dụng như bên dưới.

@SpringBootApplication

ApplicationContext ctx = new AnnotationConfigApplicationContext(Main.class);

Hoặc sử dụng plugin bên dưới để đóng gói dưới dạng một jar

             <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

bạn có thể chỉ định các cấu hình bên ngoài bằng cách sử dụng lệnh bên dưới để chạy

java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties

/ http://docs.spring.io/spring-boot/docs/civerse/reference/htmlboot-features-external-config.html#boot-features-external-config-application-property-files

Lưu ý rằng nếu bạn chuyển các thuộc tính dưới dạng đối số thì không bao gồm @PropertySource("classpath:test.properties")nó sẽ ghi đè các tham số


Thêm gói spring-boot-maven-plugin và <phase> </ phase> và sau đó chạy ứng dụng như gói sạch mvn làm việc cho tôi.
hipokito

2

Nếu bạn chạy nó thành công bằng cách sử dụng dòng lệnh gradle bootRun, trong khi đóng gói nó bằng dòng lệnh gradle jarvào tệp jar để chạy nó bằng dòng lệnh java -jar build/libs/demo.jar, thật không may, nó đã thất bại với Exception : Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean, trong trường hợp này, bạn cần sử dụng tác vụ bootRepackagecủa plugin gradle spring-bootđể tạo đặc biệt bình chạy.

  • thiết lập 1

    $ gradle sạch bootRepackage

  • thiết lập 2

    $ java -jar xây dựng / libs / demo.jar


Tôi không biết tại sao, nhưng gradle clean bootRepackage đã giúp tôi. Trước đây, tôi đã tự làm sạch tất cả bộ nhớ cache và thư mục xây dựng.
Andrii Abramov

2

A SpringApplicationsẽ cố gắng tạo ra đúng loại ApplicationContextthay mặt bạn. Theo mặc định, một AnnotationConfigApplicationContexthoặc AnnotationConfigEmbeddedWebApplicationContextsẽ được sử dụng, tùy thuộc vào việc bạn có đang phát triển ứng dụng web hay không.

Thuật toán được sử dụng để xác định "môi trường web" khá đơn giản (dựa trên sự hiện diện của một vài lớp). Bạn có thể sử dụng setWebEnvironment(boolean webEnvironment)nếu bạn cần ghi đè mặc định.

Cũng có thể kiểm soát hoàn toàn ApplicationContextloại sẽ được sử dụng bằng cách gọi setApplicationContextClass(…​).

[Mẹo] Thường được gọi setWebEnvironment(false)khi sử dụng SpringApplicationtrong bài kiểm tra JUnit.


Làm thế nào để bạn sử dụng setWebEn Môi trường khi tạo ứng dụng thông qua SpringApplication.run(Application.class, args);?
tgdavies

@tgdavies xem câu trả lời của tôi ở trên, bạn có thể sử dụngSpringApplicationBuilder
Robert Hunt

2

Thêm phụ thuộc khởi động mùa xuân đã sửa lỗi của tôi.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

Điều này là bắt buộc nếu bạn muốn bắt đầu tomcat như một máy chủ nhúng.


2

kiểm tra pom.xml của bạn có tồn tại không

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
    </dependency>

Tôi đã có một vấn đề như thế này ; Vì thiếu sự phụ thuộc này


Điều này khắc phục vấn đề của tôi.
lenhhoxung

1

Trong trường hợp của tôi, chúng tôi đã thêm chú thích @Profile mới để bỏ qua lớp TestApplication trong chế độ sản xuất và lớp Ứng dụng trong chế độ thử nghiệm.

Thật không may, chúng tôi đã quên thêm dòng sau vào tệp application.properations:

spring.profiles.active=test
or
spring.profiles.active=production

Không có các cấu hình này, không có cấu hình nào được tải, điều này gây ra lỗi Spring không quá nhiều.


Tôi muốn thêm rằng bạn cũng có thể gặp lỗi này nếu bạn cung cấp cả chú thích @Profile và chuyển hồ sơ cho jvm.
mỏng

1

Điều này nên được gây ra bởi vấn đề phụ thuộc, nói chung, bạn cần kiểm tra sự phụ thuộc.


1

Vấn đề là trong lớp này:

@ComponentScan
@EnableAutoConfiguration
public class Application {
    public static void main(String[] args) {
    //SpringApplication.run(Application.class, args);
    SpringApplication.run(ScheduledTasks.class, args);
    }
}

Cách chính xác để khởi chạy ứng dụng của bạn là:

@SpringBootApplication
@EnableScheduling
public class Application {
    public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
    }
}

1

Xóa kho lưu trữ là một giải pháp có thể.

Windows -> xóa tất cả các thư mục con trong kho lưu trữ maven:

C: \ Users \ YourUserName.m2 \ repository


Đối với bất kỳ ai theo hướng dẫn PluralSight trên Java Spring, đây là giải pháp duy nhất hiệu quả với tôi!
Janac Meena

1

Tôi đã bị mắc kẹt với cùng một vấn đề. Vì tôi không định nghĩa Main. Class và các chú thích sau trong Spring-Boot bằng Maven:

@SpringBootApplication
public class Main {
    public static void main(String args[]){
        SpringApplication.run(Main.class, args);
    }
}

0

Vấn đề là loại trừ tomcat khởi động, tôi đã thử loại trừ nó và sử dụng vert.x, vì vậy khi tôi tích hợp Spring Admin, bắt đầu các vấn đề

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

0

Tôi đã có ngoại lệ này trong tình huống sau đây.

trong POM của tôi là tài sản:

<properties>
    <java.version>1.8</java.version>
    <!-- The main class to start by executing java -jar -->
    <start-class>com.scmaer.java.microservice.Application</start-class>
    <cxf.version>3.1.5</cxf.version>
    <olingo.version>2.0.10</olingo.version>
    <spring.boot.version>1.4.7.RELEASE</spring.boot.version>
    <spring.boot.plugin.version>1.5.8.RELEASE</spring.boot.plugin.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <skipTests>false</skipTests>
</properties>

và tên và đường dẫn của lớp ứng dụng của tôi ("lớp bắt đầu") đã sai.


0

Tôi đã có một vấn đề tương tự và vấn đề là một tập tin jar maven repo bị hỏng. Trong trường hợp của tôi, tomcat-embed-coretập tin jar đã bị hỏng. Vì vậy, tôi đã gỡ bỏ nó khỏi repo maven và làm mới nó để tải xuống một lần nữa.


] Vui lòng sử dụng các công cụ định dạng để chỉnh sửa và định dạng câu trả lời của bạn.
Morse

0

Trong trường hợp của tôi, nó xảy ra sau khi loại trừ thư mục tài nguyên khỏi pomđoạn mã sau.

<resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <excludes>
                <exclude>*/*.properties</exclude>
            </excludes>
        </resource>
</resources>

Nhận xét mã này đã bắt đầu mã của tôi.


0

Một nguyên nhân khác của vấn đề này là sự hỏng hóc của kho lưu trữ maven để bạn có thể sử dụng lệnh sau để giải quyết vấn đề:

mvn dependency:purge-local-repository

0

Có lẽ bạn thiếu @SpringBootApplication trong lớp khởi động mùa xuân của bạn.

@SpringBootApplication
public class LoginSecurityAppApplication {

    public static void main(String[] args) {
        SpringApplication.run(LoginSecurityAppApplication.class, args);
    }

}

0

Tôi đang sử dụng gradle, có vẻ như đã gặp sự cố khi tôi có lệnhLineRunner tiêu thụ các chủ đề kafka và điểm cuối kiểm tra sức khỏe để nhận các móc nối đến. Tôi đã dành 12 giờ để tìm hiểu, cuối cùng tôi phát hiện ra rằng tôi đã sử dụng mybatis-spring-boot-starter với spring-boot-starter-web, và chúng có một số xung đột. Latter tôi trực tiếp giới thiệu mybatis-spring, mybatis và spring-jdbc chứ không phải mybatis-spring-boot-starter, và chương trình hoạt động tốt.

hi vọng điêu nay co ich

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.