gpt4 book ai didi

java - javax.servlet-api 和 commons-dbcp 在我们的 Spring 应用程序中重要吗?

转载 作者:行者123 更新时间:2023-12-01 10:33:59 25 4
gpt4 key购买 nike

如何理解 javax.servlet-api 和 commons-dbcp 在我们的 Spring 应用程序中的重要性。

什么时候我们必须使用它,我们应该在哪里实现?

因为我有 build.gradle 这样的东西

dependencies {
//compile('javax.servlet:javax.servlet-api:3.1.0')
//compile('commons-dbcp:commons-dbcp:1.4')

compile('org.springframework.boot:spring-boot-starter-thymeleaf')
compile('org.springframework.boot:spring-boot-starter-data-jpa')

compile('mysql:mysql-connector-java:5.1.31')

compile('com.google.code.gson:gson:2.4')

testCompile("org.springframework.boot:spring-boot-starter-test")
}

如果我从 build.gradle 中删除 javax.servlet-api 和 commons-dbcp,我的应用程序仍然可以按预期运行。

那么它们(javax.servlet-api 和 commons-dbcp)实际上在幕后做什么?

也许我知道为什么,因为它已经被 Spring Boot Starter 开箱即用地覆盖了。但是,关于它的解释在哪里,我在任何地方都找不到。

最佳答案

您不需要这些依赖项。 javax.servlet-api 由 tomcat 提供。 commons-dbcp是一个连接池,但是tomcat已经包含了它自己的connection pool作为传递依赖。
gradle dependencyInsight --dependency tomcat-jdbc 输出:

org.apache.tomcat:tomcat-jdbc:8.0.30 (selected by rule)
\--- org.springframework.boot:spring-boot-starter-jdbc:1.3.1.RELEASE
\--- org.springframework.boot:spring-boot-starter-data-jpa:1.3.1.RELEASE

您应该使用 tomcat 连接池。

We prefer the Tomcat pooling DataSource for its performance and concurrency, so if that is available we always choose it.

Spring-Boot documentation

关于java - javax.servlet-api 和 commons-dbcp 在我们的 Spring 应用程序中重要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34914374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com