springboot引用老版本springweb工程的中间件JAR包

现状

现有的一个很老的中间件提供JAR包为最新的版本2017年的版本,而公司之前的项目均为spirng web工程,引用需要配置xml并导入JAR包内的工具类,才能使用。

而新的工程都已经升级为springboot了,不再使用spring web了。而现有的需求需要在新的工程springboot中用到中间件。

中间件JAR包主要功能

1、提供一个带@Controller注解的HTTP通讯接口。

2、包含一个xml资源文件。注册了两个bean,并且xml文件中用到了配置文件属性。

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xmlns:p="http://www.springframework.org/schema/p"
 5     xmlns:context="http://www.springframework.org/schema/context"
 6     xsi:schemaLocation="
 7             http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
 8             http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"
 9     default-autowire="byName">
10     <bean id="jobContextUtil" class="com.java.job.util.JobContextUtil" />
11     <bean id="jobcenterConfig" class="com.java.job.client.service.JobcenterConfig">
12         <property name="appName" value="${application.name}" />
13         <property name="appPort" value="${application.port}" />
14         <property name="zookeeperAddress" value="${zookeeper.server.address}" />
15         <property name="jobcenterHost" value="${jobcenter.server.host}" />
16         <property name="jobcenterPort" value="${jobcenter.server.port}"></property>
17     </bean>
18     
19     <bean id="zkDockerService" class="com.java.job.client.service.ZkDockerService" init-method="register2Zookeeper" destroy-method="destroy4Zookeeper" >
20     </bean>
21 </beans>

接入springboot

1、pom.xml引用JAR包。

2、新建引用工具包注册配置JavaJobClientConfigruation.java

JobCenterConfig的注入也可以使用注解@ImportResource,但配置文件中就需要用JAR包使用的属性名称来命名,但是我不想使用jar包中的指定的属性来命令,所以使用自定义的属性注入(方便修改)。

 1 @ComponentScan(basePackages ="com.java.job.client")//自动扫描Controller
 2 @Import({com.java.job.util.JobContextUtil.class})//实现xml 10行bean
 3 @Configuration
 4 public class JobCenterClientConfig {
 5     @Value("${server.host}")
 6     private String serverHost;
 7     @Value("${server.port}")
 8     private String serverPort;
 9 
10     @Bean(initMethod = "register2Zookeeper", destroyMethod = "destroy4Zookeeper") //xml 19行bean注入,分析jar包暂时没有,没有实现
11     public ZkDockerService zkDockerService(){
12         return new ZkDockerService();
13     }
14 
15     @Bean //xml 11行bean注入
16     public JobcenterConfig jobcenterConfig(){
17         JobcenterConfig bean = new JobcenterConfig();
18         bean.setJobcenterHost(serverHost);
19         bean.setJobcenterPort(serverPort);
20         return bean;
21     }
22 }
原文地址:https://www.cnblogs.com/pengei/p/14349312.html