我需要使用哪个jar来使用Spring AOP AspectJ注释?

时间:2019-04-05 07:33:26

标签: java spring aspectj spring-aop

我是Spring的新手。 我正在尝试使用Spring AOP注释,例如以下代码。

         this.sqlite.create({
          name: 'user.db',
          location: 'default'
        })
          .then((db: SQLiteObject) => {

            db.executeSql("CREATE TABLE IF NOT EXISTS register (id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT, password TEXT ,mobilenumber TEXT,email TEXT)", [])
            .then((res) => {
                alert(res);
                if (res.rows.length > 0) {
                  alert("Len:" + res.rows.length);
                } else {
                  alert("Value:" + JSON.stringify(res));
                }
              })
              .catch(e => console.log(e));                

          }) 

  } 

在引用的库中,我放置了所有的spring jar (aop,core,aspects,bean,context,instrument,jdbc,jms,web,webmvc等)

我找到了另一个jar aspectj-1.9.3.jar ,并将其添加到我的 eclipse 中的库中。但是,我无法导入@Aspect public class A { @Pointcut("execution(* Operation.*(..))") public void b(){} @Before("b()") public void c(JoinPoint jp) { System.out.println("a"); } } (我需要)。我的Eclipse似乎找不到它。

我找到了合适的罐子吗? (所以问题还出在其他地方?) 还是我需要另一个罐子?我正在尝试不使用 Maven

2 个答案:

答案 0 :(得分:2)

org.aspectj.lang.joinpoint is part of the aspectj tool library. 

将此添加到Maven中:

<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjtools</artifactId>
    <version>1.8.9</version>
</dependency>

答案 1 :(得分:1)

在下面,我提到了轻量级的罐子,因为aspectjtools太大了。

compile group: 'org.springframework', name: 'spring-aop', version: '5.1.5.RELEASE'
compile group: 'aspectj', name: 'aspectjweaver', version: '1.5.4'

罐子的大小:

aspectjtools 1.9.2: 13.2 MB // too big

 aspectjweaver 1.9.2: 2.0 MB,  // too small as compared to aspectjtools jar
 spring AOP 5.1.5: 360 KB

因此,避免使用aspectjtools jar,因为它太大了。