1. 程式人生 > >用Annotation方式例項化Bean

用Annotation方式例項化Bean

因為MyBatis接近尾聲, 書上提到了SpringBoot, 原來這個東西這麼潮, 不能不學...

現在開始看"JavaEE開發的顛覆者Spring Boot實戰"一書, 下面是筆記:

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

@Configuration
public class ProfileConfig {
    @Bean
    @Profile(
"dev") public DemoBean devDemoBean(){ return new DemoBean("from development profile"); } @Bean @Profile("prod") public DemoBean prodDemoBean(){ return new DemoBean("from production profile"); } }

用Annotation(註解)的方式來配置, 是繼xml檔案之後的一種潮流做法?

首先是@Configuration, 其實意思是不是相當於這是一個配置檔案, 類似xml

這個例子是, 如果需要區分生產環境跟開發環境, 可以用這個配置檔案/或曰配置Bean, 或曰配置類, 加上@Profile註解, 就能方便的做到.

下面是Main:

public class Main {
    public static void main(String[] args) {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
        context.getEnvironment().setActiveProfiles(
"prod"); context.register(ProfileConfig.class); context.refresh(); DemoBean demoBean=context.getBean(DemoBean.class); System.out.println(demoBean.getContent()); context.close(); } }

DemoBean是這樣:

public class DemoBean {
    private String content;

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

    public String getContent() {
        return content;
    }

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