美文网首页
Spring基础

Spring基础

作者: 抬头挺胸才算活着 | 来源:发表于2021-11-08 13:05 被阅读0次
  • @Autowired是什么?
    依赖注入的地方,前提是被注入的对象和注入的对象都要在Spring中注册为bean(利用注解@Configuration)
public interface HelloWorldService {
    void sayHi(String name);
}
public class HelloWorldServiceImpl implements HelloWorldService {

    public void sayHi(String message) {
        System.out.println(message);
    }
}
public class HelloWorldServiceClient {

    @Autowired
    private HelloWorldService helloWorld;

    public void showMessage() {
        helloWorld.sayHi("Hello world!");
    }
}
  • 一个小例子
    @Configuration使用Java类进行配置,该类还需要负责在main方法中开启Spring容器。
    每个@Configuration注解的类都会在Spring容器中注册成一个Bean,并且Spring会使用CGLib对其进行动态代理;
    Spring容器可以有多个@Configuration注解的类;
    @Bean的方法创建并返回了对应的bean对象
@Configuration
public class AppRunner {

    @Bean
    public HelloWorldService createHelloWorldService() {
    }

    @Bean
    public HelloWorldServiceClient createClient() {
        return new HelloWorldServiceClient();
    }

    public static void main(String... strings) {
        AnnotationConfigApplicationContext context =
                                new AnnotationConfigApplicationContext(AppRunner.class);
        HelloWorldServiceClient bean = context.getBean(HelloWorldServiceClient.class);
        bean.showMessage();
    }

}
  • AnnotationConfigApplicationContext是啥玩意?
    AnnotationConfigApplicationContext实现了ApplicationContext接口,代表Spring容器,实现了实例化、配置、组装等功能,输入为注解的类。

  • 输出
    Hello world!

  • 参考资料
    Spring - Quick Concepts and Example

相关文章

网友评论

      本文标题:Spring基础

      本文链接:https://www.haomeiwen.com/subject/fuuuzltx.html