一.引言

       Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid applicationdevelopment)成为领导者。

 

二.特点:

    Spring Boot开发我们可以享有自动配置、快速构建项目、快速集成新技术的能力。在实际应用开发者需尽量使用Spring 4.x提倡的Java配置,然后我们只要认知Spring Boot是用Spring框架开发出来的技术,Spring Boot只是使用了Spring的新特性实现了自动配置的能力,也就是说在Spring下能做的事情,Spring Boot也能做。


三.spring boot 通过maven打包jsp到jar包中运行

使用过spring boot 的人应该都知道,官方其实并不太推荐使用jsp作为页面,而是推荐使用模板(freemarker、velocity等)作为页面展示。


    但是作为开发来说,很多时候大家还是习惯使用JSP作为页面(毕竟JSP在java开发中已经风靡多年),所以如果你在使用springboot时想使用JSP作为web页面,并且需要打包成jar运行,那么你可能就需要额外的去配置打包路径了。因为jsp默认是在webapp目录下,可是打包成jar是没有webapp这个目录结构的。先看一下web项目的目录结构:


下面通过spring boot 提供的spring-boot-maven-plugin插件将项目打包成jar包,通过resources去配置jsp的打包路径即可。打包成功后,项目JSP页面都会copy到META-INF目录,这时就OK了。

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache/POM/4.0.0 http://maven.apache/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache/POM/4.0.0"
    xmlns:xsi="http://www.w3/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.security</groupId>
    <artifactId>security</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>security-cas</artifactId>
  <packaging>jar</packaging>
  <dependencies>
    
  </dependencies>
  <build>
        <plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<executions>
					<execution>
						<goals>
							<goal>repackage</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<configuration>
					<failOnMissingWebXml>false</failOnMissingWebXml>
				</configuration>
			</plugin>
		</plugins>
        <resources>
            <!-- 打包时将jsp文件拷贝到META-INF目录下-->
            <resource>
                <!-- 指定resources插件处理哪个目录下的资源文件 -->
                <directory>src/main/webapp</directory>
                <!--注意此次必须要放在此目录下才能被访问到-->
                <targetPath>META-INF/resources</targetPath>
                <includes>
                    <include>**/**</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/**</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>
    <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>
</project>


jar目录结构:


打包完成后就可以通过java -jar package命令运行应用了。




更多推荐

spring boot 支持jar包运行jsp