用Annotation方式例項化Bean
阿新 • • 發佈:2018-11-09
因為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; } }