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

本文详细介绍了Spring3.1环境下如何通过XML和Java代码实现应用的不同环境配置,包括测试、开发和生产环境,利用profiles特性灵活管理数据源、上下文和其他依赖。
摘自springside3 
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://jinnianshilongnian.iteye.com/blog/2000183

 

详细配置与使用: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、付费专栏及课程。

余额充值