这将不需要任何xml配置
public class App { public static void main(String[] args) { ApplicationContext ctx = new AnnotationConfigApplicationContext(Config.class); Logger logger = ctx.getBean(Logger.class); logger.writeConsole("Hello there"); logger.writeFile("Hi again"); }}配置类
@Configuration@ComponentScanpublic class Config {}控制台作家
@Componentpublic class ConsoleWriter implements LogWriter{ public void write(String text) { System.out.println("Console Writer: "+text); }}FileWriter
@Componentpublic class FileWriter implements LogWriter { public void write(String text) { System.out.println("FileWriter: " + text); }}懒汉
@Componentpublic class Logger {@Autowiredprivate ConsoleWriter consoleWriter;@Autowiredprivate FileWriter fileWriter;public void setConsoleWriter(ConsoleWriter consoleWriter) { this.consoleWriter = consoleWriter;}public void setFileWriter(FileWriter fileWriter) { this.fileWriter = fileWriter;}public void writeFile(String text) { fileWriter.write(text);}public void writeConsole(String text) { consoleWriter.write(text);}}
接口LogWriter
public interface LogWriter { public void write(String text);}


