一般开发springring企业级web服务器端项目需要IDEA的企业版,IDEA社区版默认是不能直接创建springboot项目,但IDEA可以通过自定义配置,创建springboot-web项目。
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-parentartifactId>
- <version>2.7.3version>
- dependency>
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-webartifactId>
- <version>2.7.3version>
- dependency>
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-maven-pluginartifactId>
- <version>2.7.3version>
- dependency>
spring项目依赖的各个库最新版本可以在maven官方网站查到:https://mvnrepository.com/artifact/org.springframework.boothttps://mvnrepository.com/artifact/org.springframework.boot
创建完毕后,鼠标右键,点击弹出的菜单,选择:
将main整个目录作为source root。
类文件名随意,比如MyApp.java:
- package zhangphil.demo;
-
-
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
-
- @SpringBootApplication
- public class MyApp {
- public static void main(String[] args) {
- SpringApplication.run(MyApp.class, args);
- }
- }
再建立一个MyController.java文件:
- package zhangphil.demo;
-
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
-
- @RestController
- @RequestMapping("zhangphil")
- public class MyController {
-
- @RequestMapping("demo")
- public String index() {
- return "hello,world";
- }
- }
如图:
运行MyApp,然后在浏览器输入 localhost:8080/zhangphil/demo
springboot默认启动的tomcat端口是8080,如果修改这个端口,需要自己增加一个application.yml配置文件。在resources文件下面
新建一个application.yml文件,写入端口号:
- server:
- port: 5678
这时候,再次重启MyApp:
服务起在端口5678。
除了可以通过application.yml文件配置MyApp外,也可以通过application.properties配置,application.properties与application.yml配置写法不同。application.properties相当于简单的赋值,application.yml是通过层次结构表达属性设置。application.properties:
application.properties和application.yml一样,位于resources文件下面。这个时候再启动MyApp:
可以看到Tomcat已经启动再8765端口了。
特别注意,如果resources下面同时存在application.yml和application.properties两个配置文件,那么application.properties里面的配置将覆盖application.yml的配置。可以理解为application.properties配置优先级更高。