springboot相关技术总结

11.1、打成jar部署

1)、配置端口号

server.port=8088

2)、C:\Users\figo>e:

E:\>cd E:\CompayProjects\TariffSystem\Trunk\TariffLetter

E:\CompayProjects\TariffSystem\Trunk\TariffLetter> mvn clean install -Dmaven.test.skip=true

3)、启动:

加上& 后台关闭后,服务不会中断

java -jar TariffLetter-1.0.0.jar &  

java -jar TariffLetter-1.0.0.war &

访问

http://localhost:8088/Tariff/getUsers

4)、关闭进程

netstat -nlp|grep :8088

得到进程号

Kill -9 16077

参考

https://www.cnblogs.com/tuanz/p/11204971.html

11.2、打成war

1)、application继承SpringBootServletInitializer

public class TariffLetterApplication extends SpringBootServletInitializer{

public static void main(String[] args) {

SpringApplication.run(TariffLetterApplication.class, args);

}

}

mvn clean install -Dmaven.test.skip=true

2)、打成war

Pom.xml里面

<packaging>jar</packaging>改成

<packaging>war</packaging>

3)、排除tomcat

1.排除spring-boot-starter-web中的Tomcat

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-web</artifactId>

    <exclusions>

        <exclusion>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-tomcat</artifactId>

        </exclusion>

    </exclusions>

</dependency>

或者添加依赖(推荐,上面那种方式打包会出现缺少javax相关servlet的包的错)

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-tomcat</artifactId>

    <!--打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。

        相当于compile,但是打包阶段做了exclude操作-->

    <scope>provided</scope>

</dependency>

4)、部署到was或者tomcat,jboss等容器

TariffLetter.war放在

D:\apache-tomcat-9.0.21\webapps

访问:

http://localhost:9080/TariffLetter/Tariff/getUsers

http://localhost:9080/TariffLetter/Tariff/index

11.3 SpringBoot启动出现java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required

使用mysql 5.1.71报上面的错

1)、Pom.xml里面降到5.1.37

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>5.1.37</version>

<scope>runtime</scope>

</dependency>

2)、另外application.properties

spring.datasource.test1.driver-class-name=com.mysql.cj.jdbc.Driver 改成

spring.datasource.tariff.driver-class-name=com.mysql.jdbc.Driver

11.4 springboot线程池

SpringBoot 自定义线程池 - 简书

SpringBoot项目框架下ThreadPoolExecutor线程池+Queue缓冲队列实现高并发中进行下单业务_HuYong-CSDN博客_spring threadpoolexecutor

spring boot之 Bean的初始化和销毁(4)_日进斗识-CSDN博客_springboot销毁bean

11.5添加第三方Jar到本地mvn仓库

1、环境变量添加:

MAVEN_HOME:(maven位置)

M2_HOME:(maven位置)

PATH:%M2_HOME%\bin

(验证maven是否配置成功cmd-->mvn -version)

2、跳转到jar所在文件夹执行命令行,当然得事先配置mvn环境变量

C:\Users\figo>e:

E:\>cd E:\test\jar

E:\test\jar>mvn install:install-file -DgroupId=com.chinapay.util.log -DartifactId=MonitorLogger -Dversion=1.0 -Dpackaging=jar -Dfile=monitor-logger.jar

对应关系

  <dependency>

<groupId>com.chinapay.util.log</groupId>

<artifactId>MonitorLogger</artifactId>

<version>1.0</version>

  </dependency>

11.6 springBoot 打成jar包 无法访问jsp文件

网上说的可以将springBoot降级到1.4之类的方法

我偷懒不想降级 在pom文件中添加

<packaging>war</packaging>

然后打成war包 同样用 java -jar xxx.war 方式启动即可访问jsp文件

11.7 no tests found with test runner 'JUnit 5'

Pom.xml里面删除 

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<scope>test</scope>

</dependency>

Java Build Path Library

新增junit4改成junit5

11.8 No qualifying bean of type 'javax.sql.DataSource' available: more than one 'primary' bean found

这里只需要在配置两个数据源的时候,在其中一个数据源加上注解@Primary即可,

让Spring知道默认加载配置。

@Configuration

@Primary

@MapperScan(basePackages = "com.figo.springboottest.mapper.cppaydb", sqlSessionTemplateRef  = "cppaydbSqlSessionTemplate")

public class DataSourceCPPayDBConfig {}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值