IDEA社区版(Community Edition)创建Springboot-Web项目,Java
一般开发springring企业级web服务器端项目需要IDEA的企业版,IDEA社区版默认是不能直接创建springboot项目,但IDEA可以通过自定义配置,创建springboot-web项目。
(1)用idea社区版创建新一个新项目,选择maven和webapp
(2)在pom.xml里面添加maven仓库的spring依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.3</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.7.3</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.7.3</version></dependency>
spring项目依赖的各个库最新版本可以在maven官方网站查到:/artifact/org.springframework.boot/artifact/org.springframework.boot
(3)在main目录下建立项目的代码包(目录层次结构)
创建完毕后,鼠标右键,点击弹出的菜单,选择:
将main整个目录作为source root。
(4)在src/main/java/zhangphil/demo下面建立一个java代码类文件。
类文件名随意,比如MyApp.java:
package zhangphil.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic 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";}}
如图:
(5)运行。
运行MyApp,然后在浏览器输入 localhost:8080/zhangphil/demo
(6)修改默认启动的端口。
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配置优先级更高。