Java 如何使用在我的spring boot项目中不是依赖项的类
在我的spring项目中,我可以用XML定义bean,如下所示:Java 如何使用在我的spring boot项目中不是依赖项的类,java,spring,spring-boot,Java,Spring,Spring Boot,在我的spring项目中,我可以用XML定义bean,如下所示: <bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory"> <property name="messageFactory"> <bean class="weblogic.xml.saaj.MessageFactoryImpl" /> </
<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory">
<property name="messageFactory">
<bean class="weblogic.xml.saaj.MessageFactoryImpl" />
</property>
</bean>
甚至我的项目也不包含weblogic.xml.saaj.MessageFactoryImpl
类。当我将我的应用程序部署到wls服务器时,一切正常,只是STS抱怨它不知道这个类。如何将此代码转换为spring boot应用程序并在某个java类中定义此工厂?在配置类中(在类定义上方有@configuration
),为MessageFactoryImpl
创建一个方法作为工厂,并在其上方使用@Bean
。在SpringBoot中定义bean类似于旧的java配置
请参阅,它将帮助
weblogic.xml.saaj.MessageFactoryImpl
是一个已经存在于weblogic服务器库JAR中的实现类
要使用@Bean
,请使用@conditionClass
@Bean
@Primary
@ConditionalOnClass(weblogic.xml.saaj.MessageFactoryImpl.class)
public SoapMessageFactory messageFactory() {
return new weblogic.xml.saaj.MessageFactoryImpl();
}
是的,但是我在我的项目中没有对wls的依赖,所以当我添加这个时,我无法编译它。你添加jar依赖,并使其范围为
compileOnly
(在Gradle中)我不确定wls jarYa it使用是否有maven依赖,我想jar是weblogic:com.bea.core.weblogic.saaj
。顺便说一句,您可以在weblogic服务器(weblogic.jar或类似的东西)中找到jar。当我在java类中使用weblogic.xml.saaj.MessageFactoryImpl()时,我无法编译它