• [03] Spring "Hello World"


    0、写在前面的话

    本篇以一个简单的示例,描述了Spring通过容器对于Java类的装载和获取。在以下我们可以看到,有一个Java类Coder,我们全程并没有手动调用new来进行实例化,而是从Spring的容器ApplicationContext中去获取到了该类的实例化对象

    1、使用Maven建立Spring项目

    <dependencies> 
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.3.16.RELEASE</version>
        </dependency>
    </dependencies>

    使用maven建立项目,按Spring官方提供的dependency,IDE自动会下载关联Spring的相关核心包,如下图:
     

    2、建立一个简单的Java类 

    public class Coder {
        private String name;
        private int age;
    
        public void print(){
            System.out.println("Hello World");
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    }

    3、建立Spring的配置文件

    对于IDEA而言,pom.xml已经配置了Spring的依赖,那么在新建Spring的配置文件时,可以直接通过IDEA创建最基础的配置文件:
     
    然后配置Java类的bean:
    <?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">
    
        <bean id="coder" class="dulk.learn.spring.Coder"></bean>
    
    </beans>

    4、初始化容器,获取实例

    Spring提供了多种初始化容器的方式,其中最常见的有两种:
    • BeanFactory,早期的JavaBean工厂类实现(不推荐
    • ApplicationContext,对BeanFactory的扩展,提供了更多的功能,如国际化处理、Bean自动装配等

    BeanFactory
    public class Test {
        public static void main(String[] args) {
            //BeanFactory
            ResourcePatternResolver rpt = new PathMatchingResourcePatternResolver();
            Resource resource = rpt.getResource("/applicationContext.xml");
            BeanFactory bf = new XmlBeanFactory(resource);
            Coder coder = (Coder) bf.getBean("coder");
            coder.print();
        }
    }

    ApplicationContext
    public class Test {
        public static void main(String[] args) {
            //ApplicationContext
            ApplicationContext ac = new ClassPathXmlApplicationContext("/applicationContext.xml");
            Coder coder = (Coder) ac.getBean("coder");
            coder.print();
        }
    }

     
  • 相关阅读:
    redis修改密码
    redis配置
    django中日志配置
    django中缓存配置
    navicat批量导入数据
    django添加REST_FRAMEWORK 接口浏览
    django验证码配置与使用
    LUA_OBJECT
    LUA comment
    lua-redis
  • 原文地址:https://www.cnblogs.com/deng-cc/p/8847269.html
Copyright © 2020-2023  润新知