我用龙目岛注释。我需要重写属性之一的setter方法。但这不起作用。
我用@Setter(AccessLevel.NONE)
注释了该属性,然后显式调用了setProperty
。
下面提到豆。
@Data
@AllArgsConstructor
@Slf4j
public class TestDto
{
private String code;
@Setter(AccessLevel.NONE)
private String nameCode;
public void setNameCode(String nameCode)
{
log.info(" nameCode {}", nameCode);
this.nameCode = <Call to some method>;
}
}
设置了bean列表的DTO。
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TestViewDto {
private List<TestDto> testDtoList;
.............Few more dto's..............................
}
这是从下面的服务中调用的。。
travelAgentViewDto.setTestDto(repository.findTestNumber(number);
存储库接口定义如下:
public interface Repository extends JpaRepository<Address, AddressPk> { public List<TestDto> findTestNumber(String number); }
代码运行正常。唯一的问题是,重写
setNameCode
时,不会在setter内进行同样的操作。
从setNameCode
方法中,以下日志应打印:log.info(" nameCode {}", nameCode)
实际上呼叫不去那里。
我用龙目岛注释。我需要重写属性之一的setter方法。但这是行不通的。我已经用@Setter(AccessLevel.NONE)注释了属性,然后调用...
正如@Ravik所提到的,您不需要明确告诉lombok不要生成二传手;您写了一个事实意味着一个“胜利”和龙目岛一开始不会产生那个二传手。
您不需要使用