Spring Boot | 第一章:第一个Spring Boot应用及Lombok插件的使用
项目的创建
- 使用IDEA创建新项目
- 填写相应的内容(项目名称、包名称等等)
- 选择对应的依赖(此处可以暂时不选,之后手动在pom文件中添加),我们暂时只选择 Web 即可
- 最后选择项目位置,填写项目名称,点击 FINISH 完成
项目目录
- 项目创建完成后, 删掉 maven 相关的文件和文件夹(.mvn、mvnw、mvnw.cmd)
- 项目目录结构展示
- 目录说明
- src/main/java: 存放Java源文件
- src/main/resources/static: 存放静态资源文件,如 js/css/images 等等
- src/main/resources/templates: 存放 html 模板文件
- src/main/resources/application.properties: Spring Boot 项目的配置文件,编写相应配置
- src/test: 存放项目的测试文件
- pom.xml: maven 构建的项目必须的文件,可以在其中添加项目需要的依赖和插件
编写并运行项目
-
在 application 同级目录创建 controller 包,并在其下新建 DemoController.java 文件
-
package com.diviner.springboot.first.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @Author: Diviner_Sun * @Email: sqq_job@sina.com * @Create_Time: 2018-09-20 下午6:53 * @Peoject_Name: SpringBoot-Study * @Package_Name: com.diviner.springboot.first.controller * @Desc: DemoController */ @RestController public class DemoController { @RequestMapping("/demo") public String demo() { return "Hello Spring Boot !!!"; } }
-
启动项目,访问 http://localhost:8080/demo , 查看效果
-
-
至此, 第一个 Spring Boot 项目已经完成
两点说明
-
1、Spring Boot 默认的初始化端口为:8080
-
若需要修改,去配置文件配置 (笔者喜欢使用 yaml,所以修改项目配置文件的后缀名为: .yml)
-
server: port: 8088
-
-
2、Spring Boot默认的根目录为: /
-
server: servlet: context-path: /first
-
-
重新启动项目, 查看效果,端口和访问地址已经修改为自定义的了
-
Lombok的使用
要想使用 Lombok, 首先需要给 IDEA 安装 Lombok 插件
安装完Lombok插件之后, 在 pom 文件中引入 Lombok 依赖,就可以愉快的使用了
-
打开IDEA,点击 File —> Settings —> Plugins
-
-
Lombok简介
- Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须的代码但是有点臃肿和更改繁琐的Java代码工具;
- Lombok通过注解的方式轻松的解决JavaBean的getter/setter、toString 等方法,方便快捷,简化代码的冗余,减少代码量
-
Lombok的使用
-
pom文件中引入Lombok的依赖
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
-
-
Lombok常用注解介绍
-
@Getter/@Setter: 可以使用在类和属性上,放在类上,会对所有的非静态属性生成对应的get/set方法;放在属性上,会对该属性生成get/set方法,并且可以指定get/set方法的访问级别。访问级别有六种,默认是: PUBLIC(AccessLevel.PUBLIC)
-
@ToString: 在类上使用,生成 toString 方法;默认会输出类名、所有属性,属性之间使用逗号(,)分割
-
@EqualsAndHashCode: 默认会使用所有非瞬态(no-translent)和非静态(no-static)字段来生成 equals 和 hashCode 方法
-
@NoArgsConstructor/@AllArgsConstructor/@RequiredArgsConstructor: 无参构造器、全参构造器、部分参数构造器
-
@Data: 包含了@ToString, @EqualsAndHashCode, 所有属性的@Getter, 所有non-final属性的@Setter和@RequiredArgsConstructor的组合,通常情况下,使用这一个注解就足够了
-
@Slf4j: 在类上使用,可以快速构建一个默认的 log 常量,并轻松在类中打印日志文件;此注解等同于以下代码:
-
private final Logger logger = LoggerFactory.getLogger(XXX.class);
-
@Builder: 在类上使用,可以使当前类支持通过 builder 的方式初始化;即: xxx.builder() ;
-
@NonNull: 使用在方法参数上或者变量上,可以对参数、变量进行判空,可避免空指针的出现;
-
@Cleanup: 使用在一些 I/O流、数据流需要进行关闭的变量上,方便快捷,无需自己手动关闭这类流
-
-
笔者暂时就介绍这么多,如果读者想深入了解Lombok,请前往Lombok官网查看相关文档,以及最新的内容和注解; Lombok官网
结语 : 至此,Spring Boot的一个应用和Lombok的简单使用就此结束,希望读者有所收获; 若有错误之处,还望指正,谢谢阅读。