注意: 为了方便大家参考最终的代码,特此创建优快云技术博客专用的Git仓库,
https://github.com/redbeyond/优快云TecBlogRepo.git
,需要的朋友可以利用一下。
在之前的文章中我们尝试了利用JSF作为Spring MVC的视图,参见尝试利用JSF作为Spring MVC的视图(探索篇之一)之表格的排序与选择,为了简化配置,更加快速的构建工程,将更多的时间留给JSF的探索,这里引入Spring Boot。闲话少说,行动起来!
因为是探索,所以不用Spring Boot的向导创建工程,还是从Maven的基本工程开始手动创建(参考了通过向导创建的结果),这样会加深理解。首先让我们创建一个Maven简单工程。
填写父工程信息如下,当然也可以在后面修改pom.xml
。
- Group Id:
org.springframework.boot
- Artifact Id:
spring-boot-starter-parent
- Version:
2.1.1.RELEASE
注意: 这些信息都可以在https://mvnrepository.com查到。
点击Finish
就得到了一个最初的工程,pom.xml
如下:
<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>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
</parent>
<groupId>org.study.jsf.basic</groupId>
<artifactId>SpringBootJSFBasic</artifactId>
<version>0.0.1-SNAPSHOT</version>
</project>
然后我们要添加一些参数设置和依赖,这里简单说明一下:
- 首先是
properties
的设置,查看了默认的设置如下(整理结果):
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>utf-8</project.reporting.outputEncoding>
<resource.delimiter>@</resource.delimiter>
</properties>
可以看出,我们需要关注的就是JDK版本
还有字符集
。之前建立的工程的字符集
是utf-8
的,所以这里加上JDK版本
的显式指定就够了。
<properties>
<java.version>1.8</java.version>
</properties>
- 接着是依赖的添加,直接参照下面的依赖内容:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-api</artifactId>