Spring介绍、搭建、概念、配置、注入

summarize:

Spring 管理项目中所有的对象,它是一站式框架,属于容器性质,容器中装什么对象就有什么功能

IOC:Inverse Of Control    反转控制:

  以前是我们自己new对象,现在让程序自动创建

DI:注入方式

1、set 2、构造方法  3、字段注入

注入类型

  值类型  8大基本数据类型

  引用..   将依赖对象注入

applicationContext:

每次容器启动时,就会创建容器中配置的所有对象

从类路径加载配置文件,ClassPathXMLApplicationContext

Spring 必须要导的四个包:beans、Context、core、expression 

Spring搭建:

1.先导包

2.创建对象

封装、get set toString

3.写配置,注册对象到容器

位置任意(建议放到src下)
配置文件名任意(建议applicationContext.xml)

 

 

配置 applicationContext.xml 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">
    <bean id="user" class="com.oracle.pojo.User"></bean>
</beans>

单元测试

public class Demo {
//    单元测试的注解
    @Test
    public void getUser(){
        ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
//        获取对象  因为得到的是Obj类型 所以要强转
        User user=(User)ac.getBean("user");
    }
}

 绿色条是正常,如果红色是运行失败

复杂型注入

先new个类 QueyrVo

package com.oracle.pojo;

import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Properties;

public class QueryVo {
    private String[] arr;
    private List<String> list;
    private Map<String,String> map;
    private Properties pro;    
    public String[] getArr() {
        return arr;
    }
    public void setArr(String[] arr) {
        this.arr = arr;
    }
    public List<String> getList() {
        return list;
    }
    public void setList(List<String> list) {
        this.list = list;
    }
    public Map<String, String> getMap() {
        return map;
    }
    public void setMap(Map<String, String> map) {
        this.map = map;
    }
    public Properties getPro() {
        return pro;
    }
    public void setPro(Properties pro) {
        this.pro = pro;
    }
    @Override
    public String toString() {
        return "QueryVo [arr=" + Arrays.toString(arr) + ", list=" + list + ", map=" + map + ", pro=" + pro + "]";
    }
}

数组赋值

    <bean name="query" class="com.oracle.pojo.QueryVo">
    <!-- 数组赋值 -->
        <property name="arr">
            <array>
                <value>张三</value>
                <value>张2</value>
            </array>
        </property>        
    </bean>

测试

public class Demo {
//    单元测试的注解
    @Test
    public void getUser(){
        ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
//        获取对象  因为得到的是Obj类型 所以要强转
//        单列对象
        User user=(User)ac.getBean("user1");
        System.out.println(user);
        QueryVo vo=(QueryVo)ac.getBean("query");
        System.out.println(vo);
    }
}

.

原文地址:https://www.cnblogs.com/zs0322/p/11310599.html