Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在SpringRoo项目中调用file.aj中的方法?_Java_Spring_Aspectj_Spring Roo - Fatal编程技术网

Java 如何在SpringRoo项目中调用file.aj中的方法?

Java 如何在SpringRoo项目中调用file.aj中的方法?,java,spring,aspectj,spring-roo,Java,Spring,Aspectj,Spring Roo,如何在SpringRoo项目中调用file.aj中的方法 e、 g.如何从Employee.java中的方法callMethod()调用Employee\u Roo\u Jpa\u ActiveRecord.aj中的方法Employee.findAllEmployees() 文件:Employee.java 1 package com.tap.domain; 2 3 import java.text.SimpleDateFormat; 4 import java.util.Ar

如何在SpringRoo项目中调用file.aj中的方法

e、 g.如何从Employee.java中的方法callMethod()调用Employee\u Roo\u Jpa\u ActiveRecord.aj中的方法Employee.findAllEmployees()

文件:Employee.java

  1 package com.tap.domain;
  2 
  3 import java.text.SimpleDateFormat;
  4 import java.util.ArrayList;
  5 import java.util.Calendar;
  6 
  7 import javax.validation.constraints.Max;
  8 import javax.validation.constraints.Min;
  9 
 10 import org.aspectj.lang.annotation.Aspect;
 11 import org.springframework.beans.factory.annotation.Value;
 12 import org.springframework.roo.addon.javabean.RooJavaBean;
 13 import org.springframework.roo.addon.jpa.activerecord.RooJpaActiveRecord;
 14 import org.springframework.roo.addon.tostring.RooToString;
 15 import org.springframework.stereotype.Component;
 16 
 17 @RooJavaBean
 18 @RooToString
 19 @RooJpaActiveRecord
 20 @Component("employee")
 21 public class Employee {
 22 
 23     private long id;
 24 
 25     private String name;
 26 public void callMethod() {
...
...
 30 }
文件:Employee\u Roo\u Jpa\u ActiveRecord.aj

  6 import java.util.List;
  7 import javax.persistence.EntityManager;
  8 import javax.persistence.PersistenceContext;
  9 import org.springframework.transaction.annotation.Transactional;
 10 import com.tap.domain.Employee;
 11 
 12 privileged aspect Employee_Roo_Jpa_ActiveRecord {
 13 
 14     @PersistenceContext
 15     transient EntityManager Employee.entityManager;
...
 27     public static List<Employee> Employee.findAllEmployees() {
 28         return entityManager().createQuery("SELECT o FROM Employee o", Emplo    yee.class).getResultList();
 29     }
...
6导入java.util.List;
7导入javax.persistence.EntityManager;
8导入javax.persistence.PersistenceContext;
9导入org.springframework.transaction.annotation.Transactional;
10导入com.tap.domain.Employee;
11
12特权方面员工\u Roo\u Jpa\u活动记录{
13
14@PersistenceContext
15临时实体经理员工。实体经理;
...
27公共静态列表Employee.findAllEmployees(){
28返回entityManager();
29     }
...

Roo使用的机制是AspectJ

基本上:employee类在运行时将具有
findAllEmployees()
方法,因此您可以调用它:

public void callMethod() {
    List<Employee> allEmployees = findAllEmployees();
    // now do something with the employees
}
public void callMethod(){
List allEmployees=findAllEmployees();
//现在对员工做点什么
}