基于Maven的Springboot项目搭建学习笔记

来源:互联网 发布:测试键盘按键软件 编辑:程序博客网 时间:2024/05/16 18:26

1、  创建项目方法省略,本人采用jdk1.8环境。

2、  修改Pom.xml文件,版本号仅供参考:
(1)、引用父pom文件为springboot:

<parent>

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

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

<version>1.5.3.RELEASE</version>

</parent>

(2)、添加依赖:

        <!--springboot对web的支持 -->

<dependency>

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

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

</dependency>

<!-- springboot开发环境工具包,对调试很有帮助,支持热部署 -->

<dependency>

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

        <artifactId>spring-boot-devtools</artifactId>

         <optional>true</optional>

</dependency>

<!-- 打war包的时候不会打tomcat进去 -->

<dependency>

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

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

         <scope>provided</scope>

</dependency>

(3)、指定maven编译的JDK版本,如果不指定打包或运行时可能会报编译类的异常或执行Maven update后Jdk版本变为低版本等问题。

<build><plugins>

                  <plugin>

                          <artifactId>maven-compiler-plugin</artifactId>

                          <configuration>

                                    <source>1.8</source>

                                   <target>1.8</target>

                          </configuration>

</plugin>

</plugins></build>

3、  创建启动类Application.java,该类建议放在根目录,因为Springboot自动配置扫描是从该类所在的包开始往下扫。Springboot内置了Tomcat容器,启动该类即可通过浏览器访问,默认端口为8080,修改端口在application.properties中加入属性(server.port=8011)即可将端口置为8011。

package com.demo;import java.io.IOException;import org.springframework.boot.SpringApplication;@SpringBootApplicationpublic class Application {public static void main(String[] args) throws IOException {SpringApplication.run(Application.class, args);}}

4、  在src/main/resource下创建application.properties或application.yml(官方推荐)资源文件,该文件不是必须的,但在集成其他组件都需要进行配置,springboot会自动读取以application.*的配置文件。
yml文件样例:

server:  port: 8081

注:属性和值之间必须有空格,否则无法解析,eclipse可下载YEdit插件支持校验和格式化。

5、  创建一个Controoler类

package com.demo.web;import org.springframework.web.bind.annotation.RestController;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;@RestController@EnableAutoConfiguration@RequestMappingpublic class IndexController {@RequestMapping("/index")public String index() {return "Hello world";}}

注:@RestController:返回结果封装为JSON格式返回,@EnableAutoConfiguration:允许自动配置。

 

6、  运行Application.java中的main方法启动,在浏览器输入http://localhost:8080/index将在页面展示返回的字符串结果。

7、  补充说明:

如果要打成war包放到其他容器中执行,需要另外添加一个启动类,放在和Application.java同级,示例类SpringBootStartApplication.java:

package com.demo;import org.springframework.boot.builder.SpringApplicationBuilder;import org.springframework.boot.web.support.SpringBootServletInitializer;/** * 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法 * 打成war包放到tomcat中启动必须要这个类才行 */public class SpringBootStartApplication extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {// 注意这里要指向原先用main方法执行的Application启动类return builder.sources(Application.class);}}

如果要采用JSP文件,还需要增加maven依赖,否则可能无法正常解析JSP文件:

<dependency>

<groupId>org.apache.tomcat.embed</groupId>

<artifactId>tomcat-embed-jasper</artifactId>

<scope>provided</scope>

</dependency>