java spring自定义注解注入属性注入不进去 20
如下图自定义一个注解,有2个地方使用了注解,1个可以注入另外一个不能,自定义属性注入发现MysqlConf不能注入进去,但是OrderServiceImpl可以,捣腾了好...
如下图自定义一个注解,有2个地方使用了注解,1个可以注入另外一个不能,自定义属性注入发现MysqlConf不能注入进去,但是OrderServiceImpl可以,捣腾了好久不知道什么原因,求大神指点,不胜感激!
我在图4位置注入了spring.datasource.password为123321,orderNo为2018051929991,在类使用的时候发现spring.datasource.password的值是null,orderNo能取到注入的值 展开
我在图4位置注入了spring.datasource.password为123321,orderNo为2018051929991,在类使用的时候发现spring.datasource.password的值是null,orderNo能取到注入的值 展开
展开全部
不知道你说的“普通的java类”是什么。
在spring里要注入的话,相应的类都要纳入spring的管理,对象由spring创建,对象从spring获取。就像你上面的BaseDaoImpl和BaseServiceImpl。
如果UserCarManager也是由spring管理的话,那同样适用@autowired就可以注入。
看你的提问,应该是指没有纳入spring管理的类如何注入spring管理的对象,这种情况可以用srping相关的静态方法达到目的。
比如:
WebApplicationContext webAppContext = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
BaseDaoImpl baseDao = (BaseDaoImpl) BeanFactoryUtils.beanOfTypeIncludingAncestors(webAppContext, BaseDaoImpl.class);
在spring里要注入的话,相应的类都要纳入spring的管理,对象由spring创建,对象从spring获取。就像你上面的BaseDaoImpl和BaseServiceImpl。
如果UserCarManager也是由spring管理的话,那同样适用@autowired就可以注入。
看你的提问,应该是指没有纳入spring管理的类如何注入spring管理的对象,这种情况可以用srping相关的静态方法达到目的。
比如:
WebApplicationContext webAppContext = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
BaseDaoImpl baseDao = (BaseDaoImpl) BeanFactoryUtils.beanOfTypeIncludingAncestors(webAppContext, BaseDaoImpl.class);
追问
谢谢回答,但是并不是你所说的没有纳入spring管理,我debug发现MysqlConf这个类被Spring代理了生成了代理对象,此时去拿他的filed拿不到源目标的filed
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询