#xml #spring #javabeans #spring-aop
#xml #spring #javabeans #spring-aop
Вопрос:
Мне нужно получить значение имени свойства logLvl идентификатора компонента logConfig и выполнить сравнение для выражения.
<bean id="logConfig"
class="com.celfocus.ufe.base.logging.domains.LoggingConfiguration">
<property name="logDetails" value="STANDARD" />
<property name="logLvl" value="COMPLET" />
</bean>
<aop:config>
<aop:aspect ref="ufeLogger">
<aop:pointcut id="complete" expression="execution(* *.*(..)) and ($logConfig.logLvl=STANDARD)" />
Этот фрагмент кода выдает недопустимый символ идентификатора =
. Что я могу сделать, чтобы выполнить эту проверку?
Ответ №1:
Я никогда не видел ничего, что заставляло бы меня думать, что это было бы возможно — есть ли у вас документация, которая демонстрирует использование выражений внутри точечного сокращения, подобного этому? Если что, вы могли бы попробовать использовать escape-код SpEL #{}
, но я настроен скептически. Было бы здорово, если бы это сработало.
Моим первым подходом было бы использовать значение свойства в качестве свойства в аспекте, а также в конфигурации журнала.
Ответ №2:
Вы пробовали ==
? В конце концов, если вы проводите сравнение.