小编Dmi*_*nov的帖子

java.lang.IllegalArgumentException:警告此类型名称不匹配:ru.sbt.filial.cards.aspect.SomeBean [Xlint:invalidAbsoluteTypeName]

我从未使用Spring AOP并尝试配置我的第一个bean.我似乎正确配置它,但我得到一个例外,找不到bean.

我的方面是 -

@Aspect
@Component
public class IdentificationAspect {

    @Before("execution(* ru.sbt.filial.cards.aspect.SomeBean.*(..))")
    public void logBefore(JoinPoint joinPoint) throws Throwable {

        System.out.println("logBefore() is running!");
        System.out.println("hijacked : " + joinPoint.getSignature().getName());
        System.out.println("******");
    }
}
Run Code Online (Sandbox Code Playgroud)

AOP找不到我的豆子是 -

package ru.sbt.filial.cards.aspect;

import org.springframework.stereotype.Component;

@Component
public class SomeBean {

    public void printSmth() {
       System.out.println("!!!!!!!!!!!");
    }

}
Run Code Online (Sandbox Code Playgroud)

我有以下例外 -

Caused by: java.lang.IllegalArgumentException: warning no match for this type name: ru.sbt.filial.cards.aspect.SomeBean [Xlint:invalidAbsoluteTypeName]
                at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:301)
                at org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression(AspectJExpressionPointcut.java:207)
                at org.springframework.aop.aspectj.AspectJExpressionPointcut.getFallbackPointcutExpression(AspectJExpressionPointcut.java:358)
                at org.springframework.aop.aspectj.AspectJExpressionPointcut.matches(AspectJExpressionPointcut.java:255)
                at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:208)
                at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:262)
                at org.springframework.aop.support.AopUtils.findAdvisorsThatCanApply(AopUtils.java:294)
                at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findAdvisorsThatCanApply(AbstractAdvisorAutoProxyCreator.java:117)
                at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:87) …
Run Code Online (Sandbox Code Playgroud)

java spring spring-aop

11
推荐指数
2
解决办法
2万
查看次数

添加了空的默认 XML 命名空间 xmlns="" 属性?

我有简单的代码,我在其中创建根元素并将子元素附加到它。问题是 child 附加了空xmlns=""属性,尽管我不期望它。只是第一个孩子的问题,第二个嵌套级别的孩子已经可以了。

所以,下面的代码 -

DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.newDocument();
Element rootEl = doc.createElementNS("http://someNamespace.ru", "metamodel");
doc.appendChild(rootEl);
Element groupsEl = doc.createElement("groups");
// This appends with xmlns=""
rootEl.appendChild(groupsEl);
Element groupEl = doc.createElement("group");
// This appends normally
groupsEl.appendChild(groupEl);
Run Code Online (Sandbox Code Playgroud)

将导致输出 -

<?xml version="1.0" encoding="UTF-8"?>
<metamodel xmlns="http://someNamespace.ru">
   <groups xmlns="">
      <group/>
   </groups>
</metamodel>
Run Code Online (Sandbox Code Playgroud)

代替 -

<?xml version="1.0" encoding="UTF-8"?>
<metamodel xmlns="http://someNamespace.ru">
   <groups>
      <group/>
   </groups>
</metamodel>
Run Code Online (Sandbox Code Playgroud)

请注意,正如我上面所说,该标签<group>已经从xmlns.

java xml dom xml-parsing

6
推荐指数
1
解决办法
2731
查看次数

标签 统计

java ×2

dom ×1

spring ×1

spring-aop ×1

xml ×1

xml-parsing ×1