我是Spring框架的新手。也许这更多是一个Java bean设计问题,而不是与Spring框架相关的问题。无论如何,我只是拍摄,看看我能把自己说得有多清楚。
所以我有一个服务。该服务接受一个连接字符串作为构造函数参数。然后,您可以使用该服务将文件上载到连接字符串所指示的位置。
因此,您将从类似以下内容开始:
public class MyService{
public MyService(String connectionStr){ ... }
}当您需要这样的服务时,您可以调用:
MyService service = new MyService("xxx");
...我以前就是这么干的。没什么花哨的。现在,如果我在Spring下用Java做这件事,不知何故我希望服务是一个bean。我需要这样做:
@Component
public class MyService{
@Autowired
public MyService(@Value(...some connection string...) String connectionStr) {...}
}但我搞不懂如何在编译时注入依赖项?我永远不知道我将传递什么连接字符串来创建服务。当我阅读Spring教程时,大多数都在XML配置文件中编写了参数。我可以设计一个像上面那样的Spring bean,但是需要在运行时传递参数吗?
谢谢。
发布于 2012-12-15 15:35:11
我不太明白你的问题,但我会试着回答你。
看看here或谷歌,看看你是否真的想去春天。关于你的查询,对于你的服务,你必须在你的spring上下文中定义一些类似的东西。
<bean id="myService" class="com.blah.MyService">
<constructor-arg>
<value>http://HOST/test/</value>
</constructor-arg>
</bean>你的服务等级将是,
public class MyService{
public MyService(String connectionString) {...}
}这就是在应用程序中调用服务的方式
ApplicationContext context = new ClassPathXmlApplicationContext(
new String[] { "context.xml" });
MyService service = (MyService) context
.getBean("myService");上面的内容也可以使用注释来实现。请查看here了解更多详细信息
https://stackoverflow.com/questions/13890172
复制相似问题