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

本文介绍如何利用Spring 3.1的环境管理功能,通过XML配置和web.xml文件定义不同环境的配置,实现测试、开发和生产环境的灵活切换。通过设置系统变量和@ActiveProfiles注解,可以方便地在不同环境下部署应用,同时结合properties文件的顺位覆盖特性,支持本地开发环境和Jenkins上的功能性测试。

转自http://nassir.iteye.com/blog/1535799/

 

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

首先,将applicationContext.xml中的namespace从3.0升级到3.1.xsd, 然后就可以在文件末尾加入不同环境的定义,比如不同的dataSource
Xml代码   收藏代码
  1. <beans profile="test">  
  2. <jdbc:embedded-database id="dataSource">  
  3. <jdbc:script location="classpath:com/bank/config/sql/schema.sql"/>  
  4. </jdbc:embedded-database>  
  5. </beans>  
  6.   
  7. <beans profile="production">  
  8. <jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/datasource"/>  
  9. </beans>  
 
2.在web.xml里,你需要定义使用的profile,最聪明的做法是定义成context-param,注意这里定义的是default值,在非生产环境,可以用系统变量"spring.profiles.active"进行覆盖。

Xml代码   收藏代码
  1. <context-param>  
  2. <param-name>spring.profiles.default</param-name>  
  3. <param-value>production</param-value>  
  4. </context-param>  
 
3.在其他地方进行覆盖

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

Java代码   收藏代码
  1. System.setProperty("spring.profiles.active""development");  
  2. server.start()  
 
3.2 在用到ApplicationContext的单元测试用例中,用 @ActiveProfiles定义

Java代码   收藏代码
  1. @ContextConfiguration(locations = { "/applicationContext.xml" })  
  2. @ActiveProfiles("test")  
  3. public class AccountDaoTest extends SpringTxTestCase {  
  4. }  
 
在springside里有演示了production,development,test,functional三个环境, 大家可以根据实际情况组合自己的环境管理。另外可以与Spring的properties文件加载时可顺位覆盖的特性(放一些不在版本管理中的 xx.local.properties文件),更好的支持本地开发环境,Jenkins上的functional test等其他环境。

 

详情:https://github.com/springside/springside4/wiki/Spring

 

详细配置与使用:http://www.cnblogs.com/chanedi/archive/2012/01/12/2320837.html

<?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> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.5.6</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>warehouse</artifactId> <version>0.0.1-SNAPSHOT</version> <name>warehouse</name> <description>Demo project for Spring Boot</description> <url/> <licenses> <license/> </licenses> <developers> <developer/> </developers> <scm> <connection/> <developerConnection/> <tag/> <url/> </scm> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
最新发布
10-11
<?xml version="1.0" encoding="UTF-8"?> <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" 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> <groupId>org.bingosite</groupId> <artifactId>bs-system</artifactId> <version>2.2.2</version> <description> bs-system系统模块 </description> <properties> <revision>2.2.2</revision> <module.revision>2.2.2-SNAPSHOT</module.revision> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>17</java.version> <spring-cloud.version>2023.0.3</spring-cloud.version> <spring-cloud-alibaba.version>2023.0.1.2</spring-cloud-alibaba.version> <spring-boot.version>3.2.11</spring-boot.version> <lombok.version>1.18.34</lombok.version> <mapstruct-plus.version>1.4.5</mapstruct-plus.version> <mapstruct-plus.lombok.version>0.2.0</mapstruct-plus.lombok.version> <!-- 插件版本 --> <maven-jar-plugin.version>3.2.2</maven-jar-plugin.version> <maven-war-plugin.version>3.2.2</maven-war-plugin.version> <maven-compiler-plugin.verison>3.11.0</maven-compiler-plugin.verison> <maven-surefire-plugin.version>3.1.2</maven-surefire-plugin.version> <flatten-maven-plugin.version>1.3.0</flatten-maven-plugin.version> <hutool.version>5.8.31</hutool.version> <redisson.version>3.37.0</redisson.version> <lock4j.version>2.2.7</lock4j.version> <dubbo.version>3.2.14</dubbo.version> <dubbo-registry-eureka.version>2.7.23</dubbo-registry-eureka.version> <!-- 单独指定eureka注册中心版本 --> <!-- 添加Eureka客户端依赖版本 --> <eureka-client.version>1.10.17</eureka-client.version> <swagger.core.version>2.2.22</swagger.core.version> <easyexcel.version>4.0.3</easyexcel.version> <!-- 离线IP地址定位库 --> <ip2region.version>2.7.0</ip2region.version> <springdoc.version>2.6.0</springdoc.version> <mybatis-plus.version>3.5.8</mybatis-plus.version> <mybatis.version>3.5.16</mybatis.version> <p6spy.version>3.9.1</p6spy.version> <satoken.version>1.39.0</satoken.version> <therapi-javadoc.version>0.15.0</therapi-javadoc.version> <dynamic-ds.version>4.3.1</dynamic-ds.version> <bouncycastle.version>1.76</bouncycastle.version> <!-- OSS 配置 --> <aws.sdk.version>2.28.22</aws.sdk.version> <aws.crt.version>0.31.3</aws.crt.version> <justauth.version>1.16.6</justauth.version> <!-- SMS 配置 --> <sms4j.version>3.3.3</sms4j.version> <fastjson.version>1.2.83</fastjson.version> <project.lib.path>${pom.basedir}/src/main/resources/lib</project.lib.path> </properties> <dependencyManagement> <dependencies> <!-- SpringCloud 微服务 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- SpringCloud Alibaba 微服务 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>${spring-cloud-alibaba.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- SpringBoot 依赖配置 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring-boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- hutool 的依赖配置--> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-bom</artifactId> <version>${hutool.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>io.swagger.core.v3</groupId> <artifactId>swagger-annotations</artifactId> <version>${swagger.core.version}</version> </dependency> <dependency> <groupId>io.github.linpeilie</groupId> <artifactId>mapstruct-plus-spring-boot-starter</artifactId> <version>${mapstruct-plus.version}</version> </dependency> <!-- 离线IP地址定位库 ip2region --> <dependency> <groupId>org.lionsoul</groupId> <artifactId>ip2region</artifactId> <version>${ip2region.version}</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>${easyexcel.version}</version> </dependency> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-api</artifactId> <version>${springdoc.version}</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-spring-boot3-starter</artifactId> <version>${mybatis-plus.version}</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-annotation</artifactId> <version>${mybatis-plus.version}</version> </dependency> <!-- sql性能分析插件 --> <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>${p6spy.version}</version> </dependency> <!-- AWS SDK for Java 2.x --> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3</artifactId> <version>${aws.sdk.version}</version> </dependency> <!-- 使用AWS基于 CRT 的 S3 客户端 --> <dependency> <groupId>software.amazon.awssdk.crt</groupId> <artifactId>aws-crt</artifactId> <version>${aws.crt.version}</version> </dependency> <!-- 基于 AWS CRT 的 S3 客户端的性能增强的 S3 传输管理器 --> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3-transfer-manager</artifactId> <version>${aws.sdk.version}</version> </dependency> <dependency> <groupId>cn.dev33</groupId> <artifactId>sa-token-core</artifactId> <version>${satoken.version}</version> </dependency> <dependency> <groupId>cn.dev33</groupId> <artifactId>sa-token-spring-boot3-starter</artifactId> <version>${satoken.version}</version> </dependency> <!--redisson--> <dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>${redisson.version}</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>lock4j-redisson-spring-boot-starter</artifactId> <version>${lock4j.version}</version> </dependency> <dependency> <groupId>com.github.therapi</groupId> <artifactId>therapi-runtime-javadoc</artifactId> <version>${therapi-javadoc.version}</version> </dependency> <!-- 加密包引入 --> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15to18</artifactId> <version>${bouncycastle.version}</version> </dependency> <!-- JustAuth 的依赖配置--> <dependency> <groupId>me.zhyd.oauth</groupId> <artifactId>JustAuth</artifactId> <version>${justauth.version}</version> </dependency> <!--短信sms4j--> <dependency> <groupId>org.dromara.sms4j</groupId> <artifactId>sms4j-spring-boot-starter</artifactId> <version>${sms4j.version}</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>${fastjson.version}</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>5.1.0</version> </dependency> <!-- 使用BOM统一管理Dubbo版本 --> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-bom</artifactId> <version>${dubbo.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> <version>4.1.3</version> </dependency> <!-- 单独配置eureka注册中心依赖 - 增强排除规则 --> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-registry-eureka</artifactId> <version>${dubbo-registry-eureka.version}</version> <exclusions> <!-- 排除所有与Spring相关的依赖 --> <exclusion> <groupId>org.springframework</groupId> <artifactId>*</artifactId> </exclusion> <exclusion> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-registry-api</artifactId> </exclusion> <exclusion> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-common</artifactId> </exclusion> <exclusion> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-config-api</artifactId> </exclusion> </exclusions> </dependency> <!-- Eureka客户端依赖 --> <dependency> <groupId>com.netflix.eureka</groupId> <artifactId>eureka-client</artifactId> <version>${eureka-client.version}</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </exclusion> </exclusions> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- 添加Spring beans依赖 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </dependency> <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-core</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.14</version> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-dubbo</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-dubbo-${revision}.jar</systemPath> </dependency> <!-- BingoSite Common Log --> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-log</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-log-${revision}.jar</systemPath> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-satoken</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-satoken-${revision}.jar</systemPath> </dependency> <dependency> <groupId>cn.dev33</groupId> <artifactId>sa-token-core</artifactId> </dependency> <!-- Sa-Token 整合 jwt --> <dependency> <groupId>cn.dev33</groupId> <artifactId>sa-token-jwt</artifactId> <version>${satoken.version}</version> </dependency> <!-- BingoSite Common Redis--> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-redis</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-redis-${revision}.jar</systemPath> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-core</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-core-${revision}.jar</systemPath> </dependency> <!-- Spring框架基本的核心工具 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> </dependency> <!-- SpringWeb模块 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> </dependency> <!-- Hibernate Validator --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> <!--常用工具类 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> <!-- servlet包 --> <dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> </dependency> <dependency> <groupId>io.swagger.core.v3</groupId> <artifactId>swagger-annotations</artifactId> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-core</artifactId> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-http</artifactId> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-extra</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <!-- 自动生成YML配置关联JSON文件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-properties-migrator</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>io.github.linpeilie</groupId> <artifactId>mapstruct-plus-spring-boot-starter</artifactId> </dependency> <!-- 离线IP地址定位库 --> <dependency> <groupId>org.lionsoul</groupId> <artifactId>ip2region</artifactId> </dependency> <!--redisson--> <dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>lock4j-redisson-spring-boot-starter</artifactId> </dependency> <dependency> <groupId>com.github.ben-manes.caffeine</groupId> <artifactId>caffeine</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-json</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-json-${revision}.jar</systemPath> </dependency> <!-- JSON工具类 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-excel</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-excel-${revision}.jar</systemPath> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-dict</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-dict-${revision}.jar</systemPath> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-doc</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-doc-${revision}.jar</systemPath> </dependency> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-api</artifactId> </dependency> <dependency> <groupId>com.github.therapi</groupId> <artifactId>therapi-runtime-javadoc</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-kotlin</artifactId> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-web</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-web-${revision}.jar</systemPath> </dependency> <!-- SpringBoot Web容器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <artifactId>spring-boot-starter-tomcat</artifactId> <groupId>org.springframework.boot</groupId> </exclusion> </exclusions> </dependency> <!-- web 容器使用 undertow 性能更强 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-undertow</artifactId> </dependency> <!-- SpringBoot Actuator --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>net.dreamlu</groupId> <artifactId>mica-metrics</artifactId> <version>2.7.6</version> <exclusions> <exclusion> <groupId>net.dreamlu</groupId> <artifactId>mica-core</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>net.dreamlu</groupId> <artifactId>mica-core</artifactId> <version>2.7.6</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-mybatis</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-mybatis-${revision}.jar</systemPath> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-spring-boot3-starter</artifactId> </dependency> <!-- sql性能分析插件 --> <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> </dependency> <!-- Dynamic DataSource --> <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot3-starter</artifactId> <version>${dynamic-ds.version}</version> </dependency> <!-- Mysql Connector --> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-context</artifactId> </dependency> <!-- Dubbo核心依赖 --> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </exclusion> </exclusions> </dependency> <!-- 添加Dubbo Spring适配器 --> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-config-spring</artifactId> <version>${dubbo.version}</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-actuator</artifactId> </dependency> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-metadata-report-redis</artifactId> <exclusions> <exclusion> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-registry-eureka</artifactId> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>5.1.0</version> </dependency> <!-- Sa-Token 整合 Dubbo --> <dependency> <groupId>cn.dev33</groupId> <artifactId>sa-token-dubbo3</artifactId> <version>${satoken.version}</version> <exclusions> <exclusion> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-commons</artifactId> </dependency> <!-- <dependency>--> <!-- <groupId>org.bingosite</groupId>--> <!-- <artifactId>bs-common-seata</artifactId>--> <!-- <version>${revision}</version>--> <!-- </dependency>--> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-idempotent</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-idempotent-${revision}.jar</systemPath> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-crypto</artifactId> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-tenant</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-tenant-${revision}.jar</systemPath> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-extension</artifactId> <version>${mybatis-plus.version}</version> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-security</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-security-${revision}.jar</systemPath> </dependency> <dependency> <groupId>cn.dev33</groupId> <artifactId>sa-token-spring-boot3-starter</artifactId> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-translation</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-translation-${revision}.jar</systemPath> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-sensitive</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-sensitive-${revision}.jar</systemPath> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-encrypt</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-encrypt-${revision}.jar</systemPath> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15to18</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-oss</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-oss-${revision}.jar</systemPath> </dependency> <!-- AWS SDK for Java 2.x --> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3</artifactId> <exclusions> <!-- 将基于 Netty 的 HTTP 客户端从类路径中移除 --> <exclusion> <groupId>software.amazon.awssdk</groupId> <artifactId>netty-nio-client</artifactId> </exclusion> <!-- 将基于 CRT 的 HTTP 客户端从类路径中移除 --> <exclusion> <groupId>software.amazon.awssdk</groupId> <artifactId>aws-crt-client</artifactId> </exclusion> <!-- 将基于 Apache 的 HTTP 客户端从类路径中移除 --> <exclusion> <groupId>software.amazon.awssdk</groupId> <artifactId>apache-client</artifactId> </exclusion> <!-- 将配置基于 URL 连接的 HTTP 客户端从类路径中移除 --> <exclusion> <groupId>software.amazon.awssdk</groupId> <artifactId>url-connection-client</artifactId> </exclusion> </exclusions> </dependency> <!-- 使用AWS基于 CRT 的 S3 客户端 --> <dependency> <groupId>software.amazon.awssdk.crt</groupId> <artifactId>aws-crt</artifactId> </dependency> <!-- 基于 AWS CRT 的 S3 客户端的性能增强的 S3 传输管理器 --> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>s3-transfer-manager</artifactId> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-sse</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-sse-${revision}.jar</systemPath> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-mail</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-mail-${revision}.jar</systemPath> </dependency> <dependency> <groupId>jakarta.mail</groupId> <artifactId>jakarta.mail-api</artifactId> </dependency> <dependency> <groupId>org.eclipse.angus</groupId> <artifactId>jakarta.mail</artifactId> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-social</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-social-${revision}.jar</systemPath> </dependency> <dependency> <groupId>me.zhyd.oauth</groupId> <artifactId>JustAuth</artifactId> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-ratelimiter</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-ratelimiter-${revision}.jar</systemPath> </dependency> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-common-sms</artifactId> <version>${revision}</version> <scope>system</scope> <systemPath>${project.lib.path}/bs-common-sms-${revision}.jar</systemPath> </dependency> <dependency> <groupId>org.dromara.sms4j</groupId> <artifactId>sms4j-spring-boot-starter</artifactId> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-captcha</artifactId> <version>${hutool.version}</version> </dependency> <!-- BingoSite Api System --> <dependency> <groupId>org.bingosite</groupId> <artifactId>bs-api-system</artifactId> <version>${module.revision}</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> </dependency> <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency> </dependencies> <profiles> <profile> <id>dev</id> <properties> <!-- 环境标识,需要与配置文件的名称相对应 --> <profiles.active>dev</profiles.active> <logstash.address>127.0.0.1:4560</logstash.address> </properties> <activation> <!-- 默认环境 --> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>prod</id> <properties> <profiles.active>prod</profiles.active> <logstash.address>127.0.0.1:4560</logstash.address> </properties> </profile> </profiles> <build> <!-- <finalName>${project.artifactId}</finalName>--> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven-compiler-plugin.verison}</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> <encoding>${project.build.sourceEncoding}</encoding> <annotationProcessorPaths> <path> <groupId>com.github.therapi</groupId> <artifactId>therapi-runtime-javadoc-scribe</artifactId> <version>0.15.0</version> </path> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </path> <path> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <version>${spring-boot.version}</version> </path> <path> <groupId>io.github.linpeilie</groupId> <artifactId>mapstruct-plus-processor</artifactId> <version>${mapstruct-plus.version}</version> </path> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok-mapstruct-binding</artifactId> <version>${mapstruct-plus.lombok.version}</version> </path> </annotationProcessorPaths> <compilerArgs> <arg>-parameters</arg> </compilerArgs> </configuration> </plugin> <!-- 单元测试使用 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${maven-surefire-plugin.version}</version> <configuration> <argLine>-Dfile.encoding=UTF-8</argLine> <!-- 根据打包环境执行对应的@Tag测试方法 --> <groups>${profiles.active}</groups> <!-- 排除标签 --> <excludedGroups>exclude</excludedGroups> </configuration> </plugin> <!-- 统一版本号管理 --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>flatten-maven-plugin</artifactId> <version>${flatten-maven-plugin.version}</version> <configuration> <updatePomFile>true</updatePomFile> <flattenMode>resolveCiFriendliesOnly</flattenMode> </configuration> <executions> <execution> <id>flatten</id> <phase>process-resources</phase> <goals> <goal>flatten</goal> </goals> </execution> <execution> <id>flatten.clean</id> <phase>clean</phase> <goals> <goal>clean</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring-boot.version}</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> <configuration> <includeSystemScope>true</includeSystemScope> </configuration> </plugin> </plugins> <resources> <resource> <directory>src/main/resources</directory> <!-- 关闭过滤 --> <filtering>false</filtering> </resource> <resource> <directory>src/main/webapp/</directory> </resource> <resource> <directory>src/main/resources</directory> <!-- 引入所有 匹配文件进行过滤 --> <includes> <include>application*</include> <include>bootstrap*</include> <include>logback*</include> </includes> <!-- 启用过滤 即该资源中的变量将会被过滤器中的值替换 --> <filtering>true</filtering> </resource> </resources> </build> <repositories> <repository> <id>public</id> <name>huawei nexus</name> <url>https://mirrors.huaweicloud.com/repository/maven/</url> <releases> <enabled>true</enabled> </releases> </repository> <repository> <id>csvw</id> <url>http://nexus.csvw.com/repository/maven-public/</url> </repository> </repositories> <!-- <pluginRepositories>--> <!-- <pluginRepository>--> <!-- <id>public</id>--> <!-- <name>huawei nexus</name>--> <!-- <url>https://mirrors.huaweicloud.com/repository/maven/</url>--> <!-- <releases>--> <!-- <enabled>true</enabled>--> <!-- </releases>--> <!-- <snapshots>--> <!-- <enabled>false</enabled>--> <!-- </snapshots>--> <!-- </pluginRepository>--> <!-- </pluginRepositories>--> </project> 报 历史记录 avater No such extension org.apache.dubbo.registry.RegistryFactory by name eureka, possible causes:
08-12
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值