创建SpringBoot项目方式一
(1)新建maven项目,不使用骨架。
使用maven管理依赖就行了,不必使用骨架(模板)。
(2)在pom.xml中添加
<!--springboot核心、基础的起步依赖,所有springboot项目都需要继承--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.4.RELEASE</version> </parent> <dependencies> <!-- web项目的起步依赖。不设置版本,由<paren>统一管理版本 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
其实<parent>中的依赖换成spring-boot-starter也可以。
(3)新建包com.chy.controller,包下新建TestController
@RestController //相当于@Controller+@ResponseBody,也可以用@Controller,然后在业务方法上标注@ResponseBody public class TestController { @RequestMapping("/handler") ublic String handler(){ return "ok"; } }
@ResponseBody会自动将返回的基本类型、List、Map、pojo等类型转换为json对象、json数组,传给浏览器。
(4)在resource下新建springboot的配置文件appliction.properties
#配置url中的项目名
server.servlet.context-path=/springboot
(5)com.chy下新建类App,里面写一个main方法,标注为springboot的引导类
@SpringBootApplication //标识为springboot的引导类 public class App { public static void main(String[] args) { SpringApplication.run(App.class); //传入自身的class对象 } }
引导类必须要有main方法。
启动springboot项目时,会自动扫描与引导类的整个父包。
也可以手动配置包扫描:
//如果要扫描多个包,写成字符串数组 @ComponentScan({"com.chy.controller","com.chy.service"}) @ComponentScan("com.chy.controller") public class App{ public static void main(String[] args) { SpringApplication.run(App.class); } }
因为后续还要使用自动配置,比如读取application.properties中的数据库连接信息构建数据源,所以还需要标识@EnableAutoConfiguration。
@SpringBootApplication 本身就包含了包扫描、自动配置这2个注解的功能。
(6)点击引导类左边的绿色三角形运行,控制台打印springboot的标志,并看到已经把项目部署到内置的tomcat中
/springboot是我们在springboot配置文件中配置的url中的项目名,配置了会自动部署到指定的项目中;如果不配置,默认为空串,直接部署到域名下。
(7)浏览器地址栏输入 http://localhost:8080/springboot/handler ,显示“ok”。
如果未在springboot配置文件中配置项目名,则直接在域名下 http://localhost:8080/handler 。
创建SpringBoot项目方式二
新建项目
原本web项目只能打包为war,不能打包为jar。
springboot的web项目既可以打包为jar,也可以打包为war,默认打包为jar。
勾选Web -> Spring Web。其它根据需要勾选。
在此处可以选择springboot的版本,如果此处没有公司要求的springboot版本,创建之后到pom.xml中的<parent>修改sringboot版本
IDEA已经在pom.xml中导入了所需的依赖,并自动生成了一些文件、包、类。
如果看不顺眼,可以将其它4个删掉,留下.iml、pom.xml即可。
springboot项目可以打包为war、jar,因为有引导类(主类),所以打包为jar也可以运行。
jar包中包含了项目所有的东西,包括依赖,直接运行jar包即可启动项目。
使用maven打包为jar:
mvn clean package #clean是清除之前编译产生的文件,默认打包之前会进行单元测试
mvn clean package -Dmaven.test.skip=true #跳过单元测试
执行jar:
java -jar xxx.jar #需配置jdk环境