springboot2.1.3.RELEASE+jsp笔记war部署tomcat

springboot+jsp

  <packaging>war</packaging>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.3.RELEASE</version>
    </parent>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>
    <dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.1.3.RELEASE</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!--sql server驱动-->
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <version>6.2.0.jre8</version>
            <scope>runtime</scope>
        </dependency>
        <!--oracle 驱动-->
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>12.1.0.1-atlassian-hosted</version>
            <scope>runtime</scope>
        </dependency>
        <!--jdbc-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <!--druid 连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
        </dependency>
        <!--mybatis 持久框架-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>
        <!--spring测试-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--用于编译jsp -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>
        <!--jstl-->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <build>
        <!--打包后的名字-->
        <finalName>xxx</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <target>1.8</target>
                    <source>1.8</source>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

与普通springboot项目的区别:

/**
 * 配置程序入口,用于打war包
 */
public class SpringBootStartApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(ShuJuApplication.class);
    }
}

favicon.ico配置:

    <link rel="icon" type="image/x-icon" href="${pageContext.request.contextPath}/favicon.ico">
    <link rel="shortcut icon" href="${pageContext.request.contextPath}/favicon.ico" type="image/x-icon" />

resources/banner.txt定义打印logo

简单配置文件:

# 端口号
#server.port=8081
# 关闭默认favicon.ico
spring.mvc.favicon.enabled=false

# sqlServer 连接配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.jdbcUrl=
spring.datasource.username=
spring.datasource.password=

# sqlServer2 连接配置
spring.datasource2.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource2.jdbcUrl=
spring.datasource2.username=
spring.datasource2.password=

# oracle2 连接配置
spring.oracle2.driver-class-name=oracle.jdbc.OracleDriver
spring.oracle2.jdbcUrl=
spring.oracle2.username=
spring.oracle2.password=

# oracle 连接配置
spring.oracle.driver-class-name=oracle.jdbc.OracleDriver
spring.oracle.jdbcUrl=
spring.oracle.username=
spring.oracle.password=

# 前段文件前缀,后缀  如 return "index";  会进入 /WEB-INF/view/index.jsp
spring.mvc.view.prefix=/WEB-INF/view/
spring.mvc.view.suffix=.jsp

# druid 连接池相关配置
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.maxActive=20
spring.datasource.druid.maxWait=60000
spring.datasource.druid.timeBetweenEvictionRunsMillis=60000
spring.datasource.druid.minEvictableIdleTimeMillis=300000
spring.datasource.druid.validationQuery=SELECT 'x'
spring.datasource.druid.testWhileIdle=true
spring.datasource.druid.testOnBorrow=false
spring.datasource.druid.testOnReturn=false
spring.datasource.druid.poolPreparedStatements=true
spring.datasource.druid.maxPoolPreparedStatementPerConnectionSize=20

# 日志输出
logging.level.xx.dao=debug

多数据源配置:

DataSourceConfig:

/**
 * 多数据源DataSource定义
 */
@Configuration
@PropertySource("file:${user.dir}/src/main/resources/db.properties")
//@PropertySource("file:${user.dir}/db/db.properties") //生产环境配置文件外放
public class DataSourceConfig {
    /**
     * sqlServer数据源
     * @return
     */
    @Primary //主要
    @Bean(name = "sqldata")
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource sqlServerDataSource(){
        return DataSourceBuilder.create().build();
    }
    /**
     * oracle数据源
     * @return
     */
    @Bean(name = "oracledata")
    @ConfigurationProperties(prefix = "spring.oracle")
    public DataSource oracleDataSource(){
        return DataSourceBuilder.create().build();
    }
}

SqlServerDbConfig:

/**
 * 使用sql数据源配置
 */
@Configuration
@MapperScan(basePackages = {"xxx.dao"},sqlSessionFactoryRef ="sqlSqlSessionFactory" ) // 使用sqlServer数据源的包扫描
public class SqlServerDbConfig {
    // 引入 DataSourceConfig类下定义的DataSource
    @Autowired
    @Qualifier("sqldata")
    private DataSource sqldata;

    @Bean
    @Primary
    public SqlSessionFactory sqlSqlSessionFactory() throws Exception{
        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
        factoryBean.setDataSource(sqldata);
        return factoryBean.getObject();
    }
    @Bean
    @Primary
    public SqlSessionTemplate sqlSqlSessionTemplate() throws Exception{
        return new SqlSessionTemplate(sqlSqlSessionFactory());
    }
}

OracleServerDbConfig:

/**
 * 使用oracle数据源配置
 */
@Configuration
@MapperScan(basePackages = {"xxx.ordao"},sqlSessionFactoryRef ="oracleSqlSessionFactory" )
public class OracleServerDbConfig {
    // 引入 DataSourceConfig类下定义的DataSource
    @Autowired
    @Qualifier("oracledata")
    private DataSource oracledata;

    @Bean
    @Primary
    public SqlSessionFactory oracleSqlSessionFactory() throws Exception{
        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
        factoryBean.setDataSource(oracledata);
        return factoryBean.getObject();
    }
    @Bean
    @Primary
    public SqlSessionTemplate oracleSqlSessionTemplate() throws Exception{
        return new SqlSessionTemplate(oracleSqlSessionFactory());
    }
}

war包请使用build/buildArtifacts打包,避免tomcat版本问题,使用tomcat8版本

posted @ 2019-03-16 08:41  fly_bk  阅读(1231)  评论(0编辑  收藏  举报