DEV Community

loading...

Spring Expression Language (SpEL)

eidher
Java Developer
・1 min read

You can use it as implicit references defining an attribute or an argument in a method:

@Value("#{ systemProperties['user.region'] }") String defaultLocale;
Enter fullscreen mode Exit fullscreen mode

SpEL can access Spring beans:

@Value("#{beanId.method}") BeanType param;
Enter fullscreen mode Exit fullscreen mode

SpEL can access properties as Strings (casting may be needed):

@Value("${property1}") int property1;
@Value("#{environment['property2']}") int property2;
@Value("#{new Integer(environment['property3'])*2}") int property3;
Enter fullscreen mode Exit fullscreen mode

If undefined use : or ?: for SpEL to assign a default value:

@Value("${property1 : 1}") int property1;
@Value("#{environment['property2'] ?: 1}") int property2;
Enter fullscreen mode Exit fullscreen mode

Discussion (0)