The Answer
@Value("#{'${my.list.of.strings}'.split(',')}") private List<String> myList; works as expected for the comma separated values. To handle null (when property not specified) added the default value(': 'after': 'after the property name) as empty string as below @Value("#{'${my.list.of.strings: }'.split(',')}")
@Value("#{'${my.list.of.strings: }'.split(',')}")