ClassPathXmlApplicationContext启动spring容器入门

本文不涉及原理深入的内容,仅介绍一下spring容器启动最简单的方式——ClassPathXmlApplicationContext。

1. spring容器jar包引入 
maven坐标dependency

groupId:org.springframework
artifactId:spring-context
version:4.3.11.RELEASE

2. 定义一个接口类

package com.loge.service;
public interface TestApi {
    public TestBean sayHello();
}

 3. 定义一个实现类

package com.loge.service.Impl;
import com.loge.service.TestApi;

public class TestApiImpl implements TestApi {
    @Override
    public void sayHello() {
        System.out.println("hello");
    }
}

4. 新建xml配置文件
需要在resources目录下创建一个配置文件,文件名没有特别要求,例如本文就用test.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" xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-4.2.xsd
    http://www.springframework.org/schema/tx
    http://www.springframework.org/schema/tx/spring-tx-4.2.xsd
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd">
<bean id="testApi" class="com.zeei.service.Impl.TestApiImpl"/>
</beans>


5. 定义启动文件

package com.loge.demo; 
import org.springframework.context.ApplicationContext; 
import org.springframework.context.support.ClassPathXmlApplicationContext;  
public class Test { 
    public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException {
        ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:test.xml");
        TestApi testApi = ac.getBean("testApi",TestApi.class);
        testApi.sayHello();
    } 
} 

如果使用springboot方式跟这种方式有些区别,待补充...

猜你喜欢

转载自blog.csdn.net/jc_benben/article/details/106428554