美文网首页
Spring第二天(通过Java代码装配Bean)

Spring第二天(通过Java代码装配Bean)

作者: 毛仑上保罗先生 | 来源:发表于2017-11-16 15:37 被阅读0次

    上一篇文章写了自动装载bean, 但是java有三种装载模式, 所以现在通过java代码装载bean
    还是demo, 稍微改动下:

    image.png
    package showConfig;
    
    public interface HelloWorldApi {
        public void sayHello();
    }
    
    
    package showConfig;
    
    public class PersonHelloWorld implements HelloWorldApi {
        @Override
        public void sayHello() {
            System.out.println("Hello World!");
        }
    }
    
    package showConfig;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    @Configuration
    public class HelloWorldConfig {
        @Bean(name="paul.huang")   //假如@bean命令,  下列方法模式就不说了,为java编程基础
        public HelloWorldApi HelloWorldApi() {
            return new PersonHelloWorld();
        }
    }
    

    @Bean可以指定name名称,上面的代码指定了name="paul.huang",所以下面的代码要获取的方式有几种

    package showConfig;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.annotation.AnnotationConfigApplicationContext;
    
    public class HelloWorldTest {
        public static void main(String[] args) {
            // 1. 声明Spring上下文,采用java配置类
            ApplicationContext ac = new AnnotationConfigApplicationContext(HelloWorldConfig.class);
            //HelloWorldApi hwapi = ac.getBean(HelloWorldApi.class);  //可以通过加载接口的方式直接获取,这个和自动装载一样
            HelloWorldApi hwapi = (HelloWorldApi)ac.getBean("paul.huang");   //可以通过bean的名字获取
            hwapi.sayHello();
        }
    }
    

    运行结果:


    image.png

    相关文章

      网友评论

          本文标题:Spring第二天(通过Java代码装配Bean)

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