如果是采用三大框架来搭建程序,这里就有一些必须的注解需要注入:
1、在Dao文件需要注入@Conponent
2、在srvices层中的每个方法注入@Transactional,还有在Dao层实例的setter方法中注入@Resource,不然会包以下错误
java.lang.NullPointerException
at com.company.service.UserManager.userList(UserManager.java:40)
at com.company.service.UserManager$$FastClassByCGLIB$$447bc9ab.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191 )
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
at com.company.service.UserManager$$EnhancerByCGLIB$$7309362c.userList(<generated>)
at com.company.web.admin.UserAdminAction.getuser(UserAdminAction.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
........
3、在Action层里面当实例化出一个services的Manager对象时,需要在SetManager那里注解@Autowired,不然会出错,但是有时没注解也可以运行,但不知会出什么错误,所以一般情况下都需要注解,报错错误为空指针异常,就是执行不了对应的方法。