使用 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。
我正在与 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。