一,介绍

  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. extern “C”

    http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html 问题:extern “C” 在C++环境下使用C函数的时候,常常 ...

  2. python中执行shell命令

    查看输出结果 import os output = os.popen('cat 6018_gap_5_predict/solusion2/solusion2_0-1.txt | wc -l') pri ...

  3. 【webpack】理解配置文件

    学习链接: http://blog.csdn.net/hongchh/article/details/55113751 https://segmentfault.com/a/1190000009356 ...

  4. stylus的用法

    参考链接:预处器的对比——Sass.LESS和Stylus   http://www.w3cplus.com/css/sass-vs-less-vs-stylus-a-preprocessor-sho ...

  5. hdu_1009 贪心

    FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  6. .net增删该查DBAccess的应用

    1.首先引用dll文件 2. //DBAccess.dll引用一個dll文件    private IDBAccess _access;    private static readonly stri ...

  7. 跳转到AppStore下载app

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://itunes.apple.com/cn/ap ...

  8. pytest setup和teardown初始化

    用法简介: setup_method:仅作用于class用例集中的用例,置于class内,每个用例都会调用一次 setup_function:作用于独立的def用例,不可作用于class内的用例 se ...

  9. python-基础小游戏,人在 江湖飘,哪能不挨刀,我几刀砍死你

    #人在 江湖飘,哪能不挨刀,我几刀砍死你 #规则:5赢4. 4赢3 .3赢2. 2赢1 . 1赢5 #提示:绝对值函数abs #假设:老王和老李 import random import time p ...

  10. Leetcode名企之路

    微信扫码关注,每天推送一道面试题! 公众号:Leetcode名企之路 作者简介 知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学. 小米广告第三代广告引擎的设计者.开发者: 负责小米应用商店.日历.开 ...