User.java
1 package com.yh.entity; 2 3 public class User { 4 5 }
IUserDao.java
1 package com.yh.dao; 2 3 import com.yh.entity.User; 4 5 public interface IUserDao { 6 public void save(User user); 7 public int delete(Integer id); 8 }
UserDao.java
1 package com.yh.dao.impl; 2 3 import com.yh.dao.IUserDao; 4 import com.yh.entity.User; 5 6 public class UserDao implements IUserDao { 7 8 public int delete(Integer id) { 9 // TODO Auto-generated method stub 10 System.out.println("删除用户!"); 11 return 0; 12 } 13 14 public void save(User user) { 15 // TODO Auto-generated method stub 16 System.out.println("增加用户!"); 17 18 } 19 20 }
IUserBiz.java
1 package com.yh.biz; 2 3 import com.yh.entity.User; 4 5 public interface IUserBiz { 6 public void addNewUser(User user); 7 public int delUser(Integer id); 8 }
UserBiz.java
1 package com.yh.biz.impl; 2 3 import com.yh.biz.IUserBiz; 4 import com.yh.dao.IUserDao; 5 import com.yh.entity.User; 6 7 public class UserBiz implements IUserBiz { 8 private IUserDao userDao; 9 10 11 public IUserDao getUserDao() { 12 return userDao; 13 } 14 15 public void setUserDao(IUserDao userDao) { 16 this.userDao = userDao; 17 } 18 19 public void addNewUser(User user) { 20 // TODO Auto-generated method stub 21 userDao.save(user); 22 } 23 24 public int delUser(Integer id) { 25 // TODO Auto-generated method stub 26 return userDao.delete(id); 27 } 28 29 }
LoggerBefore.java
1 package com.yh.aspect; 2 3 import java.lang.reflect.Method; 4 5 import org.apache.log4j.Logger; 6 import org.springframework.aop.MethodBeforeAdvice; 7 8 public class LoggerBefore implements MethodBeforeAdvice { 9 Logger logger=Logger.getLogger(LoggerBefore.class); 10 public void before(Method arg0, Object[] arg1, Object arg2) 11 throws Throwable { 12 // TODO Auto-generated method stub 13 logger.debug("执行对象"+arg2+"中的方法名"+arg0.getName()); 14 } 15 16 }
applicationContext.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans 3 xmlns="http://www.springframework.org/schema/beans" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xmlns:p="http://www.springframework.org/schema/p" 6 xmlns:aop="http://www.springframework.org/schema/aop" 7 xsi:schemaLocation="http://www.springframework.org/schema/beans 8 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 9 http://www.springframework.org/schema/aop 10 http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 11 "> 12 13 <bean id="userDao" class="com.yh.dao.impl.UserDao"></bean> 14 15 <bean id="userBiz" class="com.yh.biz.impl.UserBiz"> 16 <property name="userDao" ref="userDao"></property> 17 </bean> 18 19 <!-- 切面 --> 20 <bean id="aspectBefore" class="com.yh.aspect.LoggerBefore"></bean> 21 22 <!-- 织入 --> 23 <aop:config> 24 <aop:pointcut expression="execution(* com.yh.biz.*.*(..))" id="pc"/> 25 <aop:advisor advice-ref="aspectBefore" pointcut-ref="pc"/> 26 </aop:config> 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 <bean id="my" class="com.yh.core.Myclass"> 57 <property name="name"> 58 <value>张嘎</value> 59 </property> 60 <property name="contend"> 61 <value>每天都要打鬼子</value> 62 </property> 63 </bean> 64 <bean id="you" class="com.yh.core.Myclass"> 65 <property name="name"> 66 <value>god</value> 67 </property> 68 <property name="contend"> 69 <value>世界上只有二种人</value> 70 </property> 71 </bean> 72 73 </beans>
log4j.properties
1 ### ÉèÖÃLoggerÊä³ö¼¶±ðºÍÊä³öÄ¿µÄµØ ### 2 log4j.rootLogger=debug, stdout,logfile 3 4 ### °ÑÈÕÖ¾ÐÅÏ¢Êä³öµ½¿ØÖÆÌ¨ ### 5 log4j.appender.stdout=org.apache.log4j.ConsoleAppender 6 log4j.appender.stdout.Target=System.err 7 log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout 8 9 ### °ÑÈÕÖ¾ÐÅÏ¢Êä³öµ½Îļþ£ºjbit.log ### 10 log4j.appender.logfile=org.apache.log4j.FileAppender 11 log4j.appender.logfile.File=jbit.log 12 log4j.appender.logfile.layout=org.apache.log4j.PatternLayout 13 log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %F %p %m%n
Myclass.java
1 package com.yh.core; 2 3 public class Myclass { 4 private String name; 5 private String contend; 6 public String getName() { 7 return name; 8 } 9 public void setName(String name) { 10 this.name = name; 11 } 12 public String getContend() { 13 return contend; 14 } 15 public void setContend(String contend) { 16 this.contend = contend; 17 } 18 19 public void show(){ 20 System.out.println(name+"说:"+contend); 21 } 22 }
MyTest.java
1 package com.yh.core; 2 3 import org.springframework.context.ApplicationContext; 4 import org.springframework.context.support.ClassPathXmlApplicationContext; 5 6 import com.yh.biz.IUserBiz; 7 8 public class MyTest { 9 public static void main(String[] args){ 10 ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml"); 11 //创建spring容器 12 // Myclass mc1=(Myclass) ac.getBean("my"); 13 // Myclass mc2=(Myclass) ac.getBean("you"); 14 // mc1.show(); 15 // mc2.show(); 16 IUserBiz ubiz=(IUserBiz) ac.getBean("userBiz"); 17 ubiz.addNewUser(null); 18 ubiz.delUser(0); 19 20 } 21 22 }