美文网首页
Spring Ioc

Spring Ioc

作者: 青柠_efca | 来源:发表于2019-03-04 23:05 被阅读0次

IoC

实战:依赖注入的例子

消息服务接口和实现类

public interface MessageService {
   String getMessage();
}
public class MessageServiceImpl implements MessageService {
    private String username;
    private int age;

    public MessageServiceImpl(String username, int age) {
        this.username = username;
        this.age = age;
    }

    @Override
    public String getMessage() {
        return "Hello World!" + "\nusername is " + username + ",age is " + age;
    }
}

打印器类

public class MessagePrinter {
    final private MessageService messageService;

    public MessagePrinter(MessageService messageService) {
        this.messageService = messageService;
    }

    public void printMessage() {
        System.out.println(this.messageService.getMessage());
    }
}

配置文件

 <!--定义bean,并使用构造器注入-->
    <bean id="messageServiceImpl" class="com.spring.quickstart.MessageServiceImpl">
        <constructor-arg name="username" value="Way Lau"/>
        <constructor-arg name="age" value="30"/>
    </bean>

    <bean id="messagePrinter" class="com.spring.quickstart.MessagePrinter">
        <constructor-arg name="messageService" ref="messageServiceImpl"/>
    </bean>

应用主类

public class MessageApp {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("/applicationContext.xml");
        MessagePrinter messagePrinter = context.getBean(MessagePrinter.class);
        messagePrinter.printMessage();
    }
}

运行结果

Hello worldWay Lau,age is30

相关文章

网友评论

      本文标题:Spring Ioc

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