Spring3自定义环境配置 <beans profile="">

本文介绍如何使用Spring3.1简化不同环境(如Test、Development、Production)的配置管理,通过Profile特性实现灵活切换,并展示了如何在单元测试、开发环境及部署过程中应用这些配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring 3.1的功能,以后就不用为了区分Test, Dev, Production环境,搞几个只有细微区别的application.xml, application-test.xml及引用它们的web.xml了。

首先,将applicationContext.xml中的namespace从3.0升级到3.1.xsd, 然后就可以在文件末尾加入不同环境的定义,比如不同的dataSource
Xml代码 
<beans profile="test">
<jdbc:embedded-database id="dataSource">
<jdbc:script location="classpath:com/bank/config/sql/schema.sql"/>
</jdbc:embedded-database>
</beans>

<beans profile="production">
<jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/datasource"/>
</beans>
2.在web.xml里,你需要定义使用的profile,最聪明的做法是定义成context-param,注意这里定义的是default值,在非生产环境,可以用系统变量"spring.profiles.active"进行覆盖。

Xml代码 
<context-param>
<param-name>spring.profiles.default</param-name>
<param-value>production</param-value>
</context-param>
 如果需要在eclipse设置development环境,在
Run As --》Run Configurations... --》Environment 设置变量:
spring.profiles.active = development

3.在其他地方进行覆盖

3.1 在development和functional test启动Jetty前设置系统变量

Java代码 
System.setProperty("spring.profiles.active", "development");
server.start()

3.2 在用到ApplicationContext的单元测试用例中,用 @ActiveProfiles定义

Java代码 
@ContextConfiguration(locations = { "/applicationContext.xml" })
@ActiveProfiles("test")
public class AccountDaoTest extends SpringTxTestCase {
}

演示了production,development,test,functional三个环境, 大家可以根据实际情况组合自己的环境管理。另外可以与Spring的properties文件加载时可顺位覆盖的特性(放一些不在版本管理中的xx.local.properties文件),更好的支持本地开发环境。


转至:http://blog.sina.com.cn/s/blog_546abd9f0101c6au.html

pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot</groupId> <version>2.7.3</version> </parent> <groupId>com.sky</groupId> <artifactId>sky-take-out</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <modules> <module>sky-common</module> <module>sky-pojo</module> <module>sky-server</module> </modules> <properties> <mybatis.spring>2.2.0</mybatis.spring> <lombok>1.18.20</lombok> <fastjson>1.2.76</fastjson> <commons.lang>2.6</commons.lang> <druid>1.2.1</druid> <pagehelper>1.3.0</pagehelper> <aliyun.sdk.oss>3.10.2</aliyun.sdk.oss> <knife4j>3.0.2</knife4j> <aspectj>1.9.4</aspectj> <jjwt>0.9.1</jjwt> <jaxb-api>2.3.1</jaxb-api> <poi>3.16</poi> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>${mybatis.spring}</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok}</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>${fastjson}</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>${commons.lang}</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>${druid}</version> </dependency> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>${pagehelper}</version> </dependency> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>${knife4j}</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${aspectj}</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>${aspectj}</version> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>${jjwt}</version> </dependency> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>${aliyun.sdk.oss}</version> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>${jaxb-api}</version> </dependency> <!-- poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>${poi}</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>${poi}</version> </dependency> <!--微信支付--> <dependency> <groupId>com.github.wechatpay-apiv3</groupId> <artifactId>wechatpay-apache-httpclient</artifactId> <version>0.4.8</version> </dependency> </dependencies> </dependencyManagement> </project> 构建 失败 WebMvcConfiguration.java 程序包lombok.extern.slf4j不存在 程序包org.springframework.beans.factory.annotation不存在 程序包org.springframework.context.annotation不存在 程序包org.springframework.context.annotation不存在 程序包org.springframework.web.servlet.config.annotation不存在 程序包org.springframework.web.servlet.config.annotation不存在 程序包org.springframework.web.servlet.config.annotation不存在 程序包springfox.documentation.builders不存在 程序包springfox.documentation.builders不存在 程序包springfox.documentation.builders不存在 程序包springfox.documentation.service不存在 程序包springfox.documentation.spi不存在 程序包springfox.documentation.spring.web.plugins不存在 找不到符号 找不到符号 找不到符号 找不到符号 找不到符号 找不到符号 找不到符号 找不到符号 JwtTokenAdminInterceptor.java 程序包com.sky.constant不存在 程序包com.sky.properties不存在 程序包com.sky.utils不存在 程序包io.jsonwebtoken不存在 程序包lombok.extern.slf4j不存在 程序包org.springframework.beans.factory.annotation不存在 程序包org.springframework.stereotype不存在 程序包org.springframework.web.method不存在 程序包org.springframework.web.servlet不存在 程序包javax.servlet.http不存在 程序包javax.servlet.http不存在 找不到符号 找不到符号 找不到符号 找不到符号 找不到符号 找不到符号 找不到符号 EmployeeController.java 程序包com.sky.constant不存在 程序包com.sky.dto不存在 程序包com.sky.entity不存在 程序包com.sky.properties不存在 程序包com.sky.result不存在 程序包com.sky.utils不存在 程序包com.sky.vo不存在 程序包lombok.extern.slf4j不存在 程序包org.springframework.beans.factory.annotation不存在 程序包org.springframework.web.bind.annotation不存在 程序包org.springframework.web.bind.annotation不存在 程序包org.springframework.web.bind.annotation不存在 程序包org.springframework.web.bind.annotation不存在 找不到符号 找不到符号 找不到符号 找不到符号 找不到符号 找不到符号 找不到符号 找不到符号 找不到符号 找不到符号 EmployeeService.java 程序包com.sky.dto不存在 程序包com.sky.entity不存在 找不到符号 找不到符号 GlobalExceptionHandler.java 程序包com.sky.exception不存在 程序包com.sky.result不存在 程序包lombok.extern.slf4j不存在 程序包org.springframework.web.bind.annotation不存在 程序包org.springframework.web.bind.annotation不存在 找不到符号 找不到符号 找不到符号 找不到符号 EmployeeMapper.java 程序包com.sky.entity不存在 程序包org.apache.ibatis.annotations不存在 程序包org.apache.ibatis.annotations不存在 找不到符号 找不到符号 EmployeeServiceImpl.java SkyApplication.java
最新发布
07-30
实验十二 SpringMVC 一、实验目的 1、掌握SpringMVC项目构建 2、掌握SpringMVC数据接收与传递的原理 二、实验过程 1、配置SpringMVC开发环境 a)创建新的项目,TestSpringMvc b)为项目添加Web框架和SpringMVC框架 c)添加classes目录 d)添加javaee依赖 e)添加lib输出配置 将依赖文件添加至lib中 f)修改web.xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.form</url-pattern> </servlet-mapping> <filter> <filter-name>charactorEncoding</filter-name> <filter-class> org.springframework.web.filter.CharacterEncodingFilter </filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>charactorEncoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> g)修改applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <mvc:annotation-driven /> <mvc:default-servlet-handler /> <context:annotation-config></context:annotation-config> <context:component-scan base-package="cs18.controller"/> </beans> h)添加controller,TestController.java @Controller public class TestController { @RequestMapping(value = "/showName") public String showName(HttpServletRequest request, HttpServletResponse response) { //访问传递的参数 ; return "index.jsp"; } } i)配置tomcat,添加项目部署 j)启动tomcat,在浏览器中输入以下地址 http://localhost:8080/TestSpringMvc/showName?name=fredy 2、测试以下不同类型数据绑定方法 a)HttpServletRequet,HttpSession,Model/ModelMap b)简单数据类型绑定(int,String等) c)POJO数据绑定 d)包装POJO数据绑定 e)自定义数据类型绑定 f)数组或集合绑定 g)使用Json风格类型的数据绑定
06-11
A:\program\jdk8\bin\java.exe -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" "-javaagent:A:\ideaIU-2022.3.3\IntelliJ IDEA 2022.3.3\lib\idea_rt.jar=53631:A:\ideaIU-2022.3.3\IntelliJ IDEA 2022.3.3\bin" -Dfile.encoding=UTF-8 -classpath A:\program\jdk8\jre\lib\charsets.jar;A:\program\jdk8\jre\lib\deploy.jar;A:\program\jdk8\jre\lib\ext\access-bridge-64.jar;A:\program\jdk8\jre\lib\ext\cldrdata.jar;A:\program\jdk8\jre\lib\ext\dnsns.jar;A:\program\jdk8\jre\lib\ext\jaccess.jar;A:\program\jdk8\jre\lib\ext\jfxrt.jar;A:\program\jdk8\jre\lib\ext\localedata.jar;A:\program\jdk8\jre\lib\ext\nashorn.jar;A:\program\jdk8\jre\lib\ext\sunec.jar;A:\program\jdk8\jre\lib\ext\sunjce_provider.jar;A:\program\jdk8\jre\lib\ext\sunmscapi.jar;A:\program\jdk8\jre\lib\ext\sunpkcs11.jar;A:\program\jdk8\jre\lib\ext\zipfs.jar;A:\program\jdk8\jre\lib\javaws.jar;A:\program\jdk8\jre\lib\jce.jar;A:\program\jdk8\jre\lib\jfr.jar;A:\program\jdk8\jre\lib\jfxswt.jar;A:\program\jdk8\jre\lib\jsse.jar;A:\program\jdk8\jre\lib\management-agent.jar;A:\program\jdk8\jre\lib\plugin.jar;A:\program\jdk8\jre\lib\resources.jar;A:\program\jdk8\jre\lib\rt.jar;A:\JAVAEE\user-mer\target\classes;A:\apache-maven-3.9.9-bin\local\org\springframework\boot\spring-boot-starter-thymeleaf\2.6.13\spring-boot-starter-thymeleaf-2.6.13.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\boot\spring-boot-starter\2.6.13\spring-boot-starter-2.6.13.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\boot\spring-boot-starter-logging\2.6.13\spring-boot-starter-logging-2.6.13.jar;A:\apache-maven-3.9.9-bin\local\ch\qos\logback\logback-classic\1.2.11\logback-classic-1.2.11.jar;A:\apache-maven-3.9.9-bin\local\ch\qos\logback\logback-core\1.2.11\logback-core-1.2.11.jar;A:\apache-maven-3.9.9-bin\local\org\apache\logging\log4j\log4j-to-slf4j\2.17.2\log4j-to-slf4j-2.17.2.jar;A:\apache-maven-3.9.9-bin\local\org\apache\logging\log4j\log4j-api\2.17.2\log4j-api-2.17.2.jar;A:\apache-maven-3.9.9-bin\local\org\slf4j\jul-to-slf4j\1.7.36\jul-to-slf4j-1.7.36.jar;A:\apache-maven-3.9.9-bin\local\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;A:\apache-maven-3.9.9-bin\local\org\yaml\snakeyaml\1.29\snakeyaml-1.29.jar;A:\apache-maven-3.9.9-bin\local\org\thymeleaf\thymeleaf-spring5\3.0.15.RELEASE\thymeleaf-spring5-3.0.15.RELEASE.jar;A:\apache-maven-3.9.9-bin\local\org\thymeleaf\thymeleaf\3.0.15.RELEASE\thymeleaf-3.0.15.RELEASE.jar;A:\apache-maven-3.9.9-bin\local\org\attoparser\attoparser\2.0.5.RELEASE\attoparser-2.0.5.RELEASE.jar;A:\apache-maven-3.9.9-bin\local\org\unbescape\unbescape\1.1.6.RELEASE\unbescape-1.1.6.RELEASE.jar;A:\apache-maven-3.9.9-bin\local\org\slf4j\slf4j-api\1.7.36\slf4j-api-1.7.36.jar;A:\apache-maven-3.9.9-bin\local\org\thymeleaf\extras\thymeleaf-extras-java8time\3.0.4.RELEASE\thymeleaf-extras-java8time-3.0.4.RELEASE.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\boot\spring-boot-starter-web\2.6.13\spring-boot-starter-web-2.6.13.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\boot\spring-boot-starter-json\2.6.13\spring-boot-starter-json-2.6.13.jar;A:\apache-maven-3.9.9-bin\local\com\fasterxml\jackson\core\jackson-databind\2.13.4.2\jackson-databind-2.13.4.2.jar;A:\apache-maven-3.9.9-bin\local\com\fasterxml\jackson\core\jackson-annotations\2.13.4\jackson-annotations-2.13.4.jar;A:\apache-maven-3.9.9-bin\local\com\fasterxml\jackson\core\jackson-core\2.13.4\jackson-core-2.13.4.jar;A:\apache-maven-3.9.9-bin\local\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.13.4\jackson-datatype-jdk8-2.13.4.jar;A:\apache-maven-3.9.9-bin\local\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.13.4\jackson-datatype-jsr310-2.13.4.jar;A:\apache-maven-3.9.9-bin\local\com\fasterxml\jackson\module\jackson-module-parameter-names\2.13.4\jackson-module-parameter-names-2.13.4.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\boot\spring-boot-starter-tomcat\2.6.13\spring-boot-starter-tomcat-2.6.13.jar;A:\apache-maven-3.9.9-bin\local\org\apache\tomcat\embed\tomcat-embed-core\9.0.68\tomcat-embed-core-9.0.68.jar;A:\apache-maven-3.9.9-bin\local\org\apache\tomcat\embed\tomcat-embed-el\9.0.68\tomcat-embed-el-9.0.68.jar;A:\apache-maven-3.9.9-bin\local\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.68\tomcat-embed-websocket-9.0.68.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\spring-web\5.3.23\spring-web-5.3.23.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\spring-beans\5.3.23\spring-beans-5.3.23.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\spring-webmvc\5.3.23\spring-webmvc-5.3.23.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\spring-aop\5.3.23\spring-aop-5.3.23.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\spring-context\5.3.23\spring-context-5.3.23.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\spring-expression\5.3.23\spring-expression-5.3.23.jar;A:\apache-maven-3.9.9-bin\local\org\mybatis\spring\boot\mybatis-spring-boot-starter\2.2.2\mybatis-spring-boot-starter-2.2.2.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\boot\spring-boot-starter-jdbc\2.6.13\spring-boot-starter-jdbc-2.6.13.jar;A:\apache-maven-3.9.9-bin\local\com\zaxxer\HikariCP\4.0.3\HikariCP-4.0.3.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\spring-jdbc\5.3.23\spring-jdbc-5.3.23.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\spring-tx\5.3.23\spring-tx-5.3.23.jar;A:\apache-maven-3.9.9-bin\local\org\mybatis\spring\boot\mybatis-spring-boot-autoconfigure\2.2.2\mybatis-spring-boot-autoconfigure-2.2.2.jar;A:\apache-maven-3.9.9-bin\local\org\mybatis\mybatis\3.5.9\mybatis-3.5.9.jar;A:\apache-maven-3.9.9-bin\local\org\mybatis\mybatis-spring\2.0.7\mybatis-spring-2.0.7.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\boot\spring-boot-devtools\2.6.13\spring-boot-devtools-2.6.13.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\boot\spring-boot\2.6.13\spring-boot-2.6.13.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\boot\spring-boot-autoconfigure\2.6.13\spring-boot-autoconfigure-2.6.13.jar;A:\apache-maven-3.9.9-bin\local\com\mysql\mysql-connector-j\8.0.33\mysql-connector-j-8.0.33.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\spring-core\5.3.23\spring-core-5.3.23.jar;A:\apache-maven-3.9.9-bin\local\org\springframework\spring-jcl\5.3.23\spring-jcl-5.3.23.jar com.ljy.UserManagementSystemApplication 11:23:24.929 [Thread-1] DEBUG org.springframework.boot.devtools.restart.classloader.RestartClassLoader - Created RestartClassLoader org.springframework.boot.devtools.restart.classloader.RestartClassLoader@4cd1c1d7 . ____ _ __ _ _ /\\ / ___&#39;_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | &#39;_ | &#39;_| | &#39;_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) &#39; |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.6.13) 2025-05-27 11:23:25.135 INFO 14136 --- [ restartedMain] com.ljy.UserManagementSystemApplication : Starting UserManagementSystemApplication using Java 1.8.0_411 on LAPTOP-LAKGK45S with PID 14136 (A:\JAVAEE\user-mer\target\classes started by 华硕 in A:\JAVAEE\user-mer) 2025-05-27 11:23:25.137 INFO 14136 --- [ restartedMain] com.ljy.UserManagementSystemApplication : No active profile set, falling back to 1 default profile: "default" 2025-05-27 11:23:25.166 INFO 14136 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set &#39;spring.devtools.add-properties&#39; to &#39;false&#39; to disable 2025-05-27 11:23:25.166 INFO 14136 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the &#39;logging.level.web&#39; property to &#39;DEBUG&#39; 2025-05-27 11:23:25.809 INFO 14136 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2025-05-27 11:23:25.814 INFO 14136 --- [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2025-05-27 11:23:25.814 INFO 14136 --- [ restartedMain] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.68] 2025-05-27 11:23:25.865 INFO 14136 --- [ restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2025-05-27 11:23:25.865 INFO 14136 --- [ restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 699 ms 2025-05-27 11:23:25.908 WARN 14136 --- [ restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name &#39;userController&#39;: Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name &#39;userServiceImpl&#39;: Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name &#39;userMapper&#39; defined in file [A:\JAVAEE\user-mer\target\classes\com\ljy\mapper\UserMapper.class]: Unsatisfied dependency expressed through bean property &#39;sqlSessionFactory&#39;; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name &#39;sqlSessionFactory&#39; defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Unsatisfied dependency expressed through method &#39;sqlSessionFactory&#39; parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name &#39;dataSource&#39; defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method &#39;dataSource&#39; threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class 2025-05-27 11:23:25.909 INFO 14136 --- [ restartedMain] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2025-05-27 11:23:25.918 INFO 14136 --- [ restartedMain] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with &#39;debug&#39; enabled. 2025-05-27 11:23:25.929 ERROR 14136 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: &#39;url&#39; attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active). 进程已结束,退出代码0 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.ljy</groupId> <artifactId>user-mer</artifactId> <version>0.0.1-SNAPSHOT</version> <name>user-mer</name> <description>user-mer</description> <properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <spring-boot.version>2.6.13</spring-boot.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.33</version> <!-- 最新版本可查 Maven 仓库 --> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring-boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <!-- 添加资源过滤配置 --> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> <include>**/*.html</include> <!-- 确保HTML文件被打包 --> </includes> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring-boot.version}</version> <configuration> <mainClass>com.ljy.UserManagementSystemApplication</mainClass> <skip>false</skip> </configuration> <executions> <execution> <id>repackage</id> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project> # application.yml server: port: 8080 # application.yml 数据库配置 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/user_db?useSSL=false&serverTimezone=Asia/Shanghai username: root password: 123456 thymeleaf: prefix: classpath:/templates/ suffix: .html cache: false mybatis: mapper-locations: classpath:mapper/*.xml type-aliases-package: com.ljy.pojoCREATE DATABASE user_db CHARACTER SET utf8mb4; USE user_db; CREATE TABLE user ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, email VARCHAR(100), avatar_url VARCHAR(200) ); -- 插入测试管理员(admin/123456) INSERT INTO user (username, password, email) VALUES (&#39;admin&#39;, &#39;123456&#39;, &#39;admin@example.com&#39;);直接告诉我问题在哪里 我该怎么解决
05-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值