【Spring】 (5)根據機器環境不同運行不同代碼

package com.example.demo_2_4;

/**
 * Created by WangBin on 2017/4/13.
 *
 */
public class DemoBean {
    private String content;

    public DemoBean(String content) {
        this.content = content;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }
}


package com.example.demo_2_4;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**
 * Created by WangBin on 2017/4/13.
 *
 */
public class Main {
    public static void main(String[] args) {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
        System.err.println(""+context.getEnvironment());
        context.getEnvironment().setActiveProfiles("dev");//先將活動的Profile設置1下
        context.register(ProfileConfig.class);//設置 config
        context.refresh();//刷新容器

        DemoBean demoBean = context.getBean(DemoBean.class);
        System.err.println(demoBean.getContent());
        context.close();
    }
}


package com.example.demo_2_4;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;

/**
 * Created by WangBin on 2017/4/13.
 *
 */
@Configuration
public class ProfileConfig {
    @Bean
    @Profile("dev")//Profile 爲 dev時 實例化 devDemoBean
    public DemoBean devDemoBean(){
        return new DemoBean("dev實例化的");
    }
    @Bean
    @Profile("prod")//Profile 爲 prod時  實例化 proDemoBean
    public DemoBean proDemoBean(){
        return new DemoBean("pro實例化的");
    }
}

package com.example.demo_2_4;

import org.springframework.web.WebApplicationInitializer;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;

/**
 * Created by WangBin on 2017/4/13.
 *
 */
public class WebInit implements WebApplicationInitializer {
    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        servletContext.setInitParameter("spring.profiles.default","dev");
    }
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章