美文网首页
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