一,介绍

  Spring框架核心是Ioc控制反转,只要在容器中注册以后,依赖从容器中获取即可

  简单的理解:需要一个值,在程序中定义一个变量,但是不赋值,只设置set方法,运行时,容器为该变量赋值

二,实例

1.导入框架依赖包,

  web.xml里会注册spring监听

  applicationContext.xml会自动生成

3.编写实体类

package com.zhaolong.bean;

import java.util.List;

public class Demo1 {

    private List<String> list;

    public List<String> getList() {
return list;
} public void setList(List<String> list) {
this.list = list;
} }

4.注册并注入需要的值  applicationContext.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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"
default-autowire="byName"> <!-- List通过list标签注入值 -->
<bean class="com.zhaolong.bean.Demo1" id="demo1">
<property name="list">
<list>
<value>张三</value>
<value>李四</value>
<value>王五</value>
<value>张三</value>
<value>李四</value>
<value>王五</value>
</list>
</property>
</bean> <!-- Set通过set标签注入值 -->
<bean class="com.zhaolong.bean.Demo2" id="demo2">
<property name="set">
<set>
<value>张三</value>
<value>李四</value>
<value>王五</value>
<value>张三</value>
<value>李四</value>
<value>王五</value>
</set>
</property>
</bean> <!-- Map通过 map标签注入 -->
<bean class="com.zhaolong.bean.Demo3" id="demo3">
<property name="map">
<map>
<entry key="uname">
<value>张三</value>
</entry>
<entry key="upass">
<value>123456</value>
</entry>
</map>
</property>
</bean> <!-- 给map注入object --> <bean class="com.zhaolong.bean.Demo3" id="demo32">
<property name="map">
<map>
<entry key="demo1" value-ref="demo1"/>
<entry key="demo2" value-ref="demo2"/>
</map>
</property>
</bean> <!-- 配置3个学生 -->
<bean class="com.zhaolong.bean.Student" id="student1">
<property name="sname">
<value>诸葛亮</value>
</property>
</bean>
<bean class="com.zhaolong.bean.Student" id="student2">
<property name="sname">
<value>周瑜</value>
</property>
</bean>
<bean class="com.zhaolong.bean.Student" id="student3">
<property name="sname">
<value>荀彧</value>
</property>
</bean> </beans>

5.编写测试,从xml里提取bean

package com.zhaolong.test;

import java.util.List;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import com.zhaolong.bean.Demo1; public class Demo1Test { public static void main(String[] args) { //通过数组的方式指定配置文件
ApplicationContext ctx=
new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"}); Demo1 demo1 = (Demo1) ctx.getBean("demo1"); List<String> list = demo1.getList(); for (String str : list) {
System.out.println(str);
} }
}

  

Spring框架实例的更多相关文章

  1. 最新 Eclipse IDE下的Spring框架配置及简单实例

    前段时间开始着手学习Spring框架,又是买书又是看视频找教程的,可是鲜有介绍如何配置Spring+Eclipse的方法,现在将我的成功经验分享给大家. 本文的一些源代码来源于码农教程:http:// ...

  2. Spring 框架系列之 JDBC 整合实例

    微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1.Spring框架整合 DAO 模板 JDBC:org.springframework.jdb ...

  3. Eclipse IDE下的Spring框架使用简单实例

    Eclipse IDE下的Spring框架使用简单实例 1 准备Java jdk安装. Eclipse软件安装.根据系统安装32/64版本,选择Eclipse IDE for Java Develop ...

  4. [读后感]spring Mvc 教程框架实例以及系统演示下载

    [读后感]spring Mvc 教程框架实例以及系统演示下载 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&qu ...

  5. Spring MVC框架实例

    Spring  MVC 背景介绍 Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构,能够选择是使用内置的 Spring Web 框架还是 ...

  6. 使用spring框架的JdbcTemplate实现对Oracle数据库的简单操作实例

    最近实现了一个小功能,针对Oracle数据库两张关联表进行查询和修改,因为比较简单,所以选择了spring框架里的JdbcTemplate.JdbcTemplate算是老古董了,是当年spring为了 ...

  7. 初识Spring框架实现IOC和DI(依赖注入)

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的, IoC是 ...

  8. spring框架学习(三)

    一.Spring自动组件扫描 Spring 提供组件扫描(component scanning)功能.它能从指定的classpath里自动扫描.侦测和实例化具有特定注解的组件. 基本的注解是@Comp ...

  9. Spring框架学习(一)

    一. spring概述 Spring 框架是一个分层架构,由 7 个定义良好的模块组成.Spring 模块构建在核心容器之上,核心容器定义了创建.配置和管理 bean 的方式,如图 1 所示. 图 1 ...

随机推荐

  1. poi导出excel出现本工作薄不能再使用其他新字体的解决方法

    最近使用POI处理EXCEL,当处理的单元格太多时,就会出现,本工作薄使用字体过多,不能再使用其他新的字体的是提示. 网上很多方法告诉我,要怎么修改excel文件,但是这个解决不了问题啊,难道让客户去 ...

  2. angular2 Router类中的路由跳转navigate

    navigate是Router类的一个方法,主要用来路由跳转. 函数定义 navigate(commands: any[], extras?: NavigationExtras) : Promise` ...

  3. storm-kafka

    包依赖

  4. caanimationgroup与CATransaction的区别

    动画的组合: caanimationgroup:同一个layer: CATransaction:不同layer: In Core Animation, transactions are a way t ...

  5. 2456. mode【乱搞】

    Description 给你一个n个数的数列,其中某个数出现了超过n div 2次即众数,请你找出那个数. Input 第1行一个正整数n. 第2行n个正整数用空格隔开. Output 一行一个正整数 ...

  6. ethereumjs/ethereumjs-vm-4-tests

    根据代码发现还要了解的模块有: ethereumjs/merkle-patricia-tree -对应数据存储的数据结构 ethereumjs-blockchain —— 区块链 ethereumjs ...

  7. SpringBoot实战(六)之使用LDAP验证用户

    关于ubuntu16.04服务器安装配置LDAP参考链接为:https://www.howtoing.com/how-to-install-and-configure-openldap-and-php ...

  8. web测试--数据分层测试

    转自:51Testing 测试效率低下?很多时间都在等程序开发功能,直到界面层展现出来数据后,我们才能介入测试,然后忙的焦头烂额,上线前心里还没底.亦或者发现一个Bug,发给程序猿A查,程序猿A说,可 ...

  9. MAPREDUCE框架结构及核心运行机制

    1.2.1 结构 一个完整的mapreduce程序在分布式运行时有三类实例进程: 1.MRAppMaster:负责整个程序的过程调度及状态协调 2.mapTask:负责map阶段的整个数据处理流程 3 ...

  10. cocos2d-x开发: 一切应该从配置文件读取开始

    想要做一款完整的游戏,应该从配置文件读取开始.cocos2d-x本身提供了UserDefault来操作xml格式的配置文件,准确的说配置这模块引擎开发者已经考虑到了.但是xml格式包含大量无关的格式信 ...