기초/spring framework2015. 6. 25. 15:13

xml방식


appbean_dev.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"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
    profile="dev"
    >
   
    <bean id="serverInfo" class="com.spring.profile.ServerInfo">
        <property name="ipNum" value="localhost"></property>
        <property name="portNum" value="8181"></property>
    </bean>
   
</beans>




appbean_run.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"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
    profile="run">

    <bean id="serverInfo" class="com.spring.profile.ServerInfo">
        <property name="ipNum" value="192.168.0.253"></property>
        <property name="portNum" value="8181"></property>
    </bean>
   
</beans>





ServerInfo.java

package com.spring.profile;

public class ServerInfo {
    String ipNum;
    String portNum;
    public String getIpNum() {
        return ipNum;
    }
    public void setIpNum(String ipNum) {
        this.ipNum = ipNum;
    }
    public String getPortNum() {
        return portNum;
    }
    public void setPortNum(String portNum) {
        this.portNum = portNum;
    }
   
   
   
}





MainClass.java


package com.spring.profile;

import java.util.Scanner;

import org.springframework.context.support.GenericXmlApplicationContext;

public class MainClass {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String config=null;
        Scanner scanner = new Scanner(System.in);
       
        String str = scanner.next();
        if(str.equals("dev")){
            config="dev";
        }
        else if(str.equals("run")){
            config="run";
        }
       
        scanner.close();
       
        GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
        ctx.getEnvironment().setActiveProfiles(config);
        ctx.load("profile/appbean_dev.xml", "profile/appbean_run.xml");
        ctx.refresh();

       
        ServerInfo serverInfo = ctx.getBean("serverInfo", ServerInfo.class);
        System.out.println(serverInfo.getIpNum());
        System.out.println(serverInfo.getPortNum());

        ctx.close
    }
   

}




결과






java 방식



ServerInfo.java는 동일



ApplicationConfigRun.class


@Configuration
@Profile("run")
public class ApplicationConfigRun {
    @Bean
    public ServerInfo serverInfo(){
        ServerInfo info = new ServerInfo();
        info.setIpNum("192.168.0.253");
        info.setPortNum("8181");
        return info;
    }
}




ApplicationConfigDev.class


@Configuration
@Profile("dev")
public class ApplicationConfigDev {
    @Bean
    public ServerInfo serverInfo(){
        ServerInfo info = new ServerInfo();
        info.setIpNum("localhost");
        info.setPortNum("8181");
        return info;
    }

}



MainClass.java



package com.spring.profile;

import java.util.Scanner;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;

public class MainClass {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String config=null;
        Scanner scanner = new Scanner(System.in);
       
        String str = scanner.next();
        if(str.equals("dev")){
            config="dev";
        }
        else if(str.equals("run")){
            config="run";
        }
       
        scanner.close();
       
//        GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
//        ctx.load("profile/appbean_dev.xml", "profile/appbean_run.xml");
       
       
        AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
        ctx.getEnvironment().setActiveProfiles(config);
       
        ctx.register(ApplicationConfigRun.class, ApplicationConfigDev.class);
        ctx.refresh();
       
       
        ServerInfo serverInfo = ctx.getBean("serverInfo", ServerInfo.class);
        System.out.println(serverInfo.getIpNum());
        System.out.println(serverInfo.getPortNum());
       
        ctx.close();
       
    }
   

}


'기초 > spring framework' 카테고리의 다른 글

Spring JDBC  (0) 2015.07.06
한글처리  (0) 2015.07.02
외부로 부터 파일을 가져오기  (0) 2015.06.25
InitializingBean, DisposableBean  (0) 2015.06.24
XML과 JAVA 를 같이 사용  (0) 2015.06.24
Posted by ICT 기술 블로그