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中注入依赖等。

  • 相关阅读:
    Hibernate4读取Clob数据
    JPA的Embeddable注解
    POJ 2112 Optimal Milking【网络流+二分+最短路】
    HP-UX查看版本
    这里的*号实际表示就是RAC中所有实例都使用
    [置顶] Asp.Net---css样式的使用方式
    使用Understand获取某个函数(方法)的静态度量指标
    机房收费系统的合作版
    C++内存管理学习笔记(5)
    【设计模式】Singleton模式C++实现
  • 原文地址:https://www.cnblogs.com/miaoying/p/10594087.html
Copyright © 2011-2022 走看看