我正在编写以下代码:
@RestController
@RequestMapping("/user")
public class UserController
{
@Autowired private JdbcTemplate jt;
@RequestMapping("/getUsers")
public ListResult getUsers(@RequestBody GetUsersArgs args)
{
// paging query that returns ListResult object.
// ...
}
private static class GetUsersArgs
{
public int firstRowIndex = 0;
public int pageSize = 500;
}
}
我想做的是,从Spring Boot的application.properties文件中设置GetUsersArgs对象的pageSize字段的默认值。
当application.properties文件的内容如下时,
server.port: 9000
management.port: 9001
userList.pageSize: 100
pageSize字段必须设置为100。否则,设置为500。
如何做到这一点?
这样是行不通的。Spring只能替换托管bean中的值,您的值是根据请求参数构造的。你可以做的是将一个值注入你的控制器并使用
public class UserController
@Value("${userList.pageSize:500}")
private int pageSize;
然后可以在方法中使用该值来设置对象上的pageSize
。