目录
-
- <dependency>
- <groupId>org.projectlombokgroupId>
- <artifactId>lombokartifactId>
- dependency>
- dependencies>
-----------------------------------------看对应的版本---------------------------------------------
使用 Lombok 注解简化代码, 提示:可以通过 idea 自带的反编译功能, 看 Furn.class 的源码, 就可以看到生成的完整代码
- @Component
- @ConfigurationProperties(prefix = "furn01")
- //@ToString //在编译时,生成toString, 默认情况下,会生成一个无参构造器
- /**
- * 说明:
- * 1. Equivalent to {@code @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode}
- * 2. @Data 注解等价使用了 如下注解 @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode
- * 3. @RequiredArgsConstructor : 单独的说一下:
- */
- //@Data
- //说明: @NoArgsConstructor 在编译时,会生成无参构造器, 前面老师说过,默认情况下,会生成一个无参构造器
- //说明:当我们有其它构造器生成时,如果你希望仍然有无参构造器就需要使用@NoArgsConstructor指定一下
- // ,否则就会覆盖无参构造器,从而代码错误
- @NoArgsConstructor
- //说明:@AllArgsConstructor 在编译时,会生成全参构造器
- @AllArgsConstructor
- @ToString
- @Setter
- @Getter//时json获取数据的主要方法get方法,因为json底层使用的是getId等等方法
- public class Furn {
- private Integer id;
- private String name;
- private Double price;
-
-
- }
不装插件也可以用基本的注解,比如 @Data @Getter 等, 但 是不能使用其扩展功能, 比如日志输出..., 所以我们还是安装一下,也比较简单
5. 演 示 使 用 Lombok 支 持 日 志 输 出 ( 建 议 使 用 slf4j),
-
- import com.hong.springboot.bean.Furn;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
-
- import javax.annotation.Resource;
-
- /**
- * @author 海绵hong
- * @version 1.0
- */
- @Slf4j
- @Controller
- public class HiController {
-
- //需求website 属性值从application.properties 的k-v
- @Value("${my.website}")
- private String website;
-
- //装配到HiController
- @Resource
- private Furn furn;
-
- //返回hi,springboot
- @RequestMapping("/hi")
- @ResponseBody
- public String hi() {
- System.out.println("website-" + website);
- return "hi~, SpringBoot";
- }
-
- @RequestMapping("/furn")
- @ResponseBody
- public Furn furn() {
- //System.out.println("furn--" + furn);
- //使用slf4j日志输出
- //普通方式
- log.info("furn-" + furn);
- //占位符方式输出
- log.info("furn={} myfurn={}", furn, furn);
- return furn;
- }
-
- }