spring学习(3):获取bean对象

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43392489/article/details/102769736

接着上一节的课程继续学习

MesasageService 类
package hello;

import org.springframework.stereotype.Component;
//注解的加入
@Component
public class MesasageService {
    public MesasageService() {
        super();
        System.out.println("MessageService...");
    }

    /**
     * 执行打印功能
     * @return 返回要打印的字符串
     */
    public String getMessage(){
        return "Hello World";
    }
}
MessagePrinter类
package hello;

import org.springframework.stereotype.Component;
//注解的加入
@Component
public class MessagePrinter {
    //无参构造方法的加入
    public MessagePrinter() {
        super();
        System.out.println("MessagePrinter...");
    }

    private MesasageService service;
    /*
    * 简历和MessageService的关系
    * */
    //设置service的值
    public void setService(MesasageService service){
        this.service =service;
    }
    public void printMessage(){
        System.out.println(this.service.getMessage());
    }
}
ApplicationSpring类
package hello;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.ComponentScan;

//加入扫描
@ComponentScan
public class ApplicationSpring {
    public static void main(String[] args){
        System.out.println("appliaction....");
        //初始化spring
        ApplicationContext context =new AnnotationConfigApplicationContext(ApplicationSpring.class);
        //获取messagePrinter对象
        MessagePrinter printer=context.getBean(MessagePrinter.class);
        //获取messafeService对象
        MesasageService service=context.getBean(MesasageService.class);
        System.out.println(printer);
        System.out.println(service);
        printer.setService(service);
        //打印消息
        printer.printMessage();
    }
}

运行结果

appliaction....
10月 27, 2019 6:30:54 下午 org.springframework.context.annotation.AnnotationConfigApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@3d012ddd: startup date [Sun Oct 27 18:30:54 CST 2019]; root of context hierarchy
MessageService...
MessagePrinter...
hello.MessagePrinter@10e92f8f
hello.MesasageService@7ce3cb8e
Hello World

猜你喜欢

转载自blog.csdn.net/weixin_43392489/article/details/102769736