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