一、环境
- Java 8
- Maven 3.3+
- idea 2018(个人)
环境要先安装好。
1、关于 maven 配置
配置本地仓库
官网下载好 zip 包后解压,然后里面新建一个仓库目录
repository
。
打开 conf 目录下的 配置文件
settings.xml
。
在第 55 行的位置号,配置上你的
repository
路径。
配置阿里云镜像
继续在配置文件里,配置阿里云的镜像。
<mirrors><mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror></mirrors><profiles><profile><id>jdk-1.8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></activation><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties></profile></profiles>
这里的
profiles
是指定使用 jdk 1.8进行编译,以防开发中出现一些其他的问题。找个空位置粘贴即可。
二、编写 helloworld
1. idea 设置 maven
打开 idea 的 Settings,把本地的 maven 设置好。
2. 创建 maven 项目
下一步:
点击 finish 结束。
3. pom 中导入父工程
打开
pom.xml
在
<project>
中导入。
<!--导入父工程--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.4.RELEASE</version></parent>
4. 添加依赖
之前开发个 web 要导一大堆,现在只要在
<project>
添加一个依赖即可。仍然是在
pom.xml
中:
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>
导入完成后,点开这里的库,会发现该有的都有了。
如果没有依赖,原因可能是:IDEA内置了Maven环境,默认采用Maven解决项目依赖问题。在新建项目后,项目的路径中会生成pom.xml文件和项目名.iml文件。新建项目后,IDEA不会自动刷新Maven的依赖。
刷新Maven配置的方法为:右键单击项目,在弹出菜单中选择Maven》》》》Reimport菜单项。
5. 编写代码
目录结构如下图:
(1)主程序类
package com.pingguo.boot;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;// 标记这是一个 springboot应用,这个类是主程序类,所有启动的入口@SpringBootApplicationpublic class MainApplication {public static void main(String[] args) {SpringApplication.run(MainApplication.class, args);}}
(2)controller接下来就跟以前一样了,写一个控制器:
package com.pingguo.boot.controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class HelloController {@RequestMapping("/hello")public String Hello() {return "Hello SpringBoot2";}}
-
@RestController
是一个复合注解,表示
@Controller + @ResponseBody
。这些知识已经在前面
springMVC
相关内容中学习过了。
6. 运行程序
直接运行上面写好的主运行程序即可(run MainApplication)。
点击运行:
就是这么简单。
7. 访问请求
打开浏览器访问
http://localhost:8080/hello
:
请求成功。
8. 简化配置
springboot可以最大化简化配置,比如我们可以将未来要使用到的一些配置,全部抽取到一个配置文件里
application.properties
。
在这里,可以修改关于tomcat的一些设置、springMVC相关的设置等等,比如修改tomcat端口号:
server.port=8888
重新启动应用:
这里具体能写哪些配置,详见官方文档 https://docs.spring.io/spring-boot/docs/current/reference/html/
已经安排的明明白白的。
9. 简化部署
在之前要部署应用,先得把应用打成 war 包。
现在只要引入一个依赖,就可以直接把项目打成一个可执行的 jar 包,里面包含了运行环境,所以可以直接在目标服务器运行。
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
双击右侧maven》lifecycle》package,打包。
打包完成。
项目目录中的target,已经有了 jar 包(boot-01-helloworld-1.0-SNAPSHOT.jar)。
现在停止刚才运行的服务,直接用 java 运行这个 jar 包尝试一下:
java -jar boot-01-helloworld-1.0-SNAPSHOT.jar
启动成功。