1.新建项目
2.右击项目,如图,利用myeclipse自动导入spring
3.在弹出的对话框中一直next到最后,在最后的页面中勾选Spring Testing,完成.
4.在src下的applicationContext.xml里,点击namespaces,勾选aop和context
5.在上图的底部分别进入aop和context界面,
5.1在aop界面右击beans,添加<aop:aspectj-autoproxy>,这个的作用是启用aspectj类型的aop功能.
5.2 在context界面右击beans,添加<context:component-scan>,并在右边的elemen details识图中填写base-package和选择annotation-config
base-package的作用是,让spring自动扫描存在注解的包并注册为spring beans.(我这里的包均以glut开头)
annotation-config的作用大概是启用注解.(doc里面大致的意思......)
6.创建UserService接口,UserServiceImp实现类还有MyTest测试类.
目录结构:
package glut.service;
public interface UserService {
void login(String username);
}
package glut.serviceImp;
import org.springframework.stereotype.Service;
import glut.service.UserService;
@Service
public class UserServiceImp implements UserService {
@Override
public void login(String username) {
// TODO Auto-generated method stub
System.out.println(username + " has login");
}
}
package glut.test;
import javax.annotation.Resource;
import glut.service.UserService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
//启用Spring JUnit
@RunWith(SpringJUnit4ClassRunner.class)
//加载指定的配置文件
@ContextConfiguration(locations = "classpath:applicationContext.xml")
public class MyTest {
@Resource
private UserService userService;
@Test
public void test() {
userService.login("leo");
}
}
测试结果:
7.接下来测试AOP功能,新建一个切面类
package glut.aspect;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;
//声明为切面
@Aspect
//切面也要作为component识别
@Component
public class MyAspect {
//execution(任意类型 glut..任意包.任意类(任意参数)
@Pointcut("execution(* glut..*.*(..))")
public void myPointCut() {
};
//调用poincut指定的方法前执行beforeMethod
@Before("myPointCut()")
public void beforeMethod() {
System.out.println("This is before method");
}
//调用poincut指定的方法后执行afterMethod
@After("myPointCut()")
public void afterMethod() {
System.out.println("This is after method");
}
}
最后再看一次测试结果:
MyEclipse2014,你值得拥有.