天天看點

springboot xml配置方式轉為bean注解方式

xml配置:

1wm-bean.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
                http://www.springframework.org/schema/context
                http://www.springframework.org/schema/context/spring-context.xsd">

    <bean id="cloudFactory" class="com.xxx.cloud.CloudStorageFactory"  depends-on="environment"/>
    <bean id="cloudUtil"  destroy-method="shutdown"  factory-bean="cloudFactory" factory-method="getCloudUtil"/>

</beans>
           

2導入注解類

package com.xx.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;

@Configuration("beanConfig")
@ImportResource(locations={"classpath:wm-bean.xml"})
public class BeanConfig {
}
           

方式二:直接在類CloudStorageFactory上寫注解:

package com.xxx.cloud;

import com.atzy.validate.util.StringUtils;
import com.xxx.cloudutil.AdaptedCloudUtil;
import com.xxx.cloudutil.ICloudUtil;
import com.xxx.config.SpringProperty;
import org.apache.log4j.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
public class CloudStorageFactory {
    private Logger logger = Logger.getLogger(this.getClass());

    @Bean(name="cloudUtil",destroyMethod="shutdown")
    public ICloudUtil getCloudUtil() {
       ....
        return cloudUtil;
    }

    /*
     * 初始化 qcloud
     */
    private void initQCloudUtil(AdaptedCloudUtil cloudUtil, String config) {
       ...
    }

}
           

繼續閱讀