使用 Spring 注入属性?

Injecting properties with Spring?

我正在与 Spring 合作,我想通过依赖注入启动我的服务(模型)。我的服务需要一个 Propertie 对象,其中包含数据库的 url、用户、密码、ssl、sslfactory 参数。我想知道这是否仍然可以使用依赖注入来完成。

所以我的构造函数看起来像这样:Service(Properties propertie) 在我的控制器中,我有一个私人现场服务:

@Autowired
private Service service;

现在我想在其中注入正确的属性。

<bean id="service" class="service.Service">
        <constructor-arg > 
            <value>?</value>
        </constructor-arg> 
    </bean>

不知道能不能实现,谁能帮帮我?提前致谢。

试试这个:

<util:properties id="props" location="classpath:props.properties" />

然后:

 @Value("${props.foo}")
 public String foo;

它将 属性 直接注入字段。 您需要使用注释配置。

或者,如果您更喜欢纯粹的 xml,那么试试这个:

<bean id="service" class="service.Service">
    <constructor-arg > 
        <value>#{props['foo']}</value>
    </constructor-arg> 
</bean>

正确的方法是使用 PropertyPlaceholderConfigurer。