OrderDao:
package com.ssm.aop.dao;
import com.ssm.aop.domain.Order;
public interface OrderDao {
public void saveOrder(Order order);
public void savePayInfo(Order order);
}
OrderDaoImpl:
package com.ssm.aop.dao.impl;
import com.ssm.aop.dao.OrderDao;
import com.ssm.aop.domain.Order;
public class OrderDaoImpl implements OrderDao{
@Override
public void saveOrder(Order order){
System.out.println("保存订单信息:" +order);
}
@Override
public void savePayInfo(Order order){
System.out.println("保存支付信息:" +order);
}
}
Order:
package com.ssm.aop.domain;
public class Order {
private String goodsName;
private float money;
private int count;
public String getGoodsName() {
return goodsName;
}
public void setGoodsName(String goodsName) {
this.goodsName = goodsName;
}
public float getMoney() {
return money;
}
public void setMoney(float money) {
this.money = money;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
@Override
public String toString() {
return "Order [goodsName=" + goodsName + ", money=" + money + ", count=" + count + "]";
}
public Order(String goodsName, float money,int count){
super();
this.goodsName=goodsName;
this.money=money;
this.count=count;
}
}
OrderService:
package com.ssm.aop.service;
import com.ssm.aop.domain.Order;
public interface OrderService {
public void submitOrder(Order order);
public void payOrder(Order order);
}
OrderServiceImpl:
package com.ssm.aop.service.impl;
import com.ssm.aop.dao.OrderDao;
import com.ssm.aop.domain.Order;
import com.ssm.aop.service.OrderService;
public class OrderServiceImpl implements OrderService{
private OrderDao orderDao;
public void setOrderDao(OrderDao orderDao){
this.orderDao=orderDao;
}
@Override
public void submitOrder(Order order){
System.out.println("提交订单..");
orderDao.saveOrder(order);
}
@Override
public void payOrder(Order order){
System.out.println("支付订单..");
orderDao.savePayInfo(order);
}
}
TestAOP:
package com.ssm.aop.test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.ssm.aop.domain.Order;
import com.ssm.aop.service.OrderService;
public class TestAOP {
@Test
public void orderServiceTest() {
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationcontext.xml");
OrderService service = ctx.getBean("orderService",OrderService.class);
Order order =new Order("iphone 30", 10000, 1);
service.submitOrder(order);
}
}
applicationContext:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<bean id="orderDao" class="com.ssm.aop.dao.impl.OrderDaoImpl">
</bean>
<bean id="orderService" class="com.ssm.aop.service.impl.OrderServiceImpl">
<property name="orderDao" ref="orderDao"></property>
</bean>
</beans>