IOC与AOP
- 这两个功能基本是不分家,如果没有IOC或者变相的IOC就不会有AOP,所以就放在一起讲了
- 使用方法相信大家都不陌生
IOC使用方法
在类上面加上MarsBean注解,即可将该类注册成一个bean,在需要注入该bean对象的字段上 加上MarsWrite注解即可注入,如下图:
@MarsBean("testService")
public class TestService {
@MarsWrite("testDao")
private TestDao testDao;
}
可以不写括号和括号里的内容,默认为 该类的名称首字母小写,默认为字段名称。
AOP使用方法
创建一个类,并实现BaseAop接口,如下图所示
public class TestAop implements BaseAop {
/**
* 方法开始前
* @param objects 被监听的方法的参数
*/
public void startMethod(Object[] objects) {
System.out.println(objects);
}
/**
* 方法开始后
* @param objects 被监听的方法的参数
* @param result 被监听的方法的返回数据
*/
public void endMethod(Object[] objects, Object result) {
System.out.println(objects);
}
/**
* 方法出异常
*/
public void exp(Throwable e) {
System.out.println("出异常了"+e);
}
}
在需要监听的方法上加上MarsAop注解,如下图所示
@MarsAop(className = TestAop.class)
public List<Map> selectList(){
return testDao.selectList();
}