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 }