Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用在我的spring boot项目中不是依赖项的类_Java_Spring_Spring Boot - Fatal编程技术网

Java 如何使用在我的spring boot项目中不是依赖项的类

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" /> </

在我的spring项目中,我可以用XML定义bean,如下所示:

<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()时,我无法编译它