zoukankan      html  css  js  c++  java
  • 对Spring Ioc的理解

    1. 新建一个maven项目,工程目录如下

    2. 添加接口MessageService及其实现类MessageServiceImpl

    MessageService.java

    package com.peppa.service;
    
    public interface MessageService {
        String getMessage();
    }

    MessageServiceImpl.java

    package com.peppa.serviceImpl;
    
    import com.peppa.service.MessageService;
    
    public class MessageServiceImpl implements MessageService {
        @Override
        public String getMessage() {
            return "hello world!";
        }
    }

    pom文件中添加spring-context依赖

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>5.1.5.RELEASE</version>
            </dependency>

    在resources目录下添加application.xml文件,内容如下

    <?xml version="1.0" encoding="UTF-8" ?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd" default-autowire="byName">
        <bean id="messageService" class="com.peppa.serviceImpl.MessageServiceImpl"></bean>
    </beans>

    添加Application.java,将MessageService从context中取出来,而不是使用 new MessageServiceImpl() 获取

    package com;
    
    import com.peppa.service.MessageService;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class Application {
        public static void main(String[] args) {
            ApplicationContext context = new ClassPathXmlApplicationContext("classpath:application.xml");
            System.out.println("start success");
            MessageService messageService = context.getBean(MessageService.class);
            System.out.println("will print hello world");
            System.out.println(messageService.getMessage());
        }
    }

    通过配置文件来启动Spring的ApplicationContext,也就是IoC的核心。ApplicationContext启动过程中,会负责创建实例Bean,往各个Bean中注入依赖等。

  • 相关阅读:
    FileUpload1上传控件
    docker如何push镜像到docker hub个人的仓库
    docker的ubuntu镜像无ifconfig和ping命令
    keystone同步数据库的时候提示error
    openstack安装dashboard后访问horizon出错 500 or 504
    装了ubuntu之后,只能进入ubuntu系统,不能进入windows系统
    Kernal Panic
    无法获得锁 /var/lib/dpkg/lock -open
    用户 'NT AUTHORITYIUSR' 登录失败
    配置错误:不能在此路径中使用此配置节。
  • 原文地址:https://www.cnblogs.com/miaoying/p/10594087.html
Copyright © 2011-2022 走看看