我已经制作了几个使用纯注释Spring配置的应用程序。现在,我想尝试建立一个库。
new
关键字在库中实例化公共类,并且可以解析它们的@Autowired
依赖项。我不确定如何做到这一点。需要某种方式来建立应用程序上下文,这似乎是在插入点完成的。由于库没有插入点,我不知所措。
这只是未完成的事情吗? Spring依赖注入似乎是一个非常有用的工具,如果我不能用它来构建库,那将是一种耻辱。
答案 0 :(得分:3)
根据您的编写,您的库本质上是一组自定义组件,这些组件内部一致,并通过META-INF类路径或Maven依赖关系定义为其他库定义了显式依赖关系。
注释没有魔力。注释只是由注释处理器处理的标记,因此如果没有执行自动连接的框架注释处理器,注释只不过是注释。 JAXB或JPA注释也是如此。
您的非Spring应用程序需要实例化一个初始容器,然后根据IoC原则启动绑定过程。你的一个图书馆可以是这样一个' boot'启动此过程的库,其代码可以从其他库jar中读取bean配置或扫描组件,并自动连接来自不同库的组件。
简而言之,您需要某种形式的启动,这可能是一个额外的启动'图书馆本身。您可以使此引导库对非Spring应用程序最小且几乎透明,并提供某种形式的组件查找,但是以完全透明的方式执行它将非常困难。