从导入的第3个jar中将@Value注入bean中

时间:2016-03-11 09:10:52

标签: java spring dependency-injection annotations

我有来自导入jar的bean(TokenJWTService)(common.jar)

 package com.xx.yy;
 public class TokenJWTService {

     @Value("${user.service.url}")
     private String userServiceUrl;

     //other methods
}

现在我想使用@Value注释在上面的bean的字段userServiceUrl中注入一个url

我尝试将package com.xx.yy添加到<context:component-scan base-package="com.xx.yy " />,但仍未注入该值。

我也试过<bean id="tokenJWTService" class="com.xx.yy.services.TokenJWTService" p:userServiceUrl="${user.service.url}"/>但注射也失败了。

如何将值注入该bean,该bean留在导入的jar中?

1 个答案:

答案 0 :(得分:0)

问题解决了......感谢zapl ..你的评论提醒我在正确的干燥中进一步调查..

我将<bean id...部分放在错误的xml配置文件中。 在web.xml中,我在 spring-controller.xml

中注册了bean
<servlet>
    <servlet-name>appServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-controller.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

虽然它应该在 sso-config.xml

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        classpath:propertyFileConfigurer.xml
        classpath:sso-config.xml
    </param-value>
</context-param>