开发者社区> 问答> 正文

Spring Aspect作用于action,action中的Autowired无效-java报错

"

<span style=""color:#E53333;"">spring-mvc-servlet.xml

<!-- -->
<context:annotation-config annotation-config="true"></context:annotation-config>
<aop:aspectj-autoproxy proxy-target-class="true"></aop:aspectj-autoproxy> 

<!-- -->


Aspect 实现文件
@Aspect
@Component
public class FormRepeat {
	
	@Pointcut("@annotation(com.job.bs.web.repeat.CreateFormToken)")
	public void afterCreateToken(){
		System.out.println("22222222222");
	}
	 
	//后置通知,创建token
	@After("afterCreateToken()")
	public Object afterCreateToken(JoinPoint joinPoint){
		System.out.println("调用了后置通知");
	}
}

Controller 

@Autowired	
BaseDao baseDao;
@RequestMapping("/addcompany.html")
    @CreateFormToken
    public ModelAndView addcompany(HttpServletRequest request, HttpServletResponse response) {
    	ModelAndView view = new ModelAndView("company/addcompany");
    	System.out.println("进入");
        view.getModelMap().addAttribute("industrys", baseDao.findIndustry());
//      view.getModelMap().addAllAttributes(baseDao.addModelToken(request));//增加token校验部分
    	return view;
    }


controller 请求进入和后置通知都可以进入.但是就是上面的 @Autowired  BaseDao baseDao;为空!

我去掉@CreateFormToken标签baseDao对象就不为空了.但是同样也进不去通知了.

求指教.

"

展开
收起
montos 2020-05-31 22:49:37 488 0
1 条回答
写回答
取消 提交回答
  • "求高手指教.######围观一下
    <a href=""http://my.oschina.net/u/929718"" class=""referer"" target=""_blank"">@Resource 是根据name注入 
    @Autowired <span style=""font-size:14px;line-height:15.4px;background-color:#FFFFFF;""> 是根据接口注入
    要不你换  <span style=""font-size:13.3333px;""><a href=""http://my.oschina.net/u/929718"" class=""referer"" target=""_blank"">@Resource 试试
    ######早试过了的。没用."

    2020-05-31 22:49:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载