Spring框架实例
一,介绍
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框架实例的更多相关文章
- 最新 Eclipse IDE下的Spring框架配置及简单实例
前段时间开始着手学习Spring框架,又是买书又是看视频找教程的,可是鲜有介绍如何配置Spring+Eclipse的方法,现在将我的成功经验分享给大家. 本文的一些源代码来源于码农教程:http:// ...
- Spring 框架系列之 JDBC 整合实例
微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1.Spring框架整合 DAO 模板 JDBC:org.springframework.jdb ...
- Eclipse IDE下的Spring框架使用简单实例
Eclipse IDE下的Spring框架使用简单实例 1 准备Java jdk安装. Eclipse软件安装.根据系统安装32/64版本,选择Eclipse IDE for Java Develop ...
- [读后感]spring Mvc 教程框架实例以及系统演示下载
[读后感]spring Mvc 教程框架实例以及系统演示下载 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&qu ...
- Spring MVC框架实例
Spring MVC 背景介绍 Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构,能够选择是使用内置的 Spring Web 框架还是 ...
- 使用spring框架的JdbcTemplate实现对Oracle数据库的简单操作实例
最近实现了一个小功能,针对Oracle数据库两张关联表进行查询和修改,因为比较简单,所以选择了spring框架里的JdbcTemplate.JdbcTemplate算是老古董了,是当年spring为了 ...
- 初识Spring框架实现IOC和DI(依赖注入)
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的, IoC是 ...
- spring框架学习(三)
一.Spring自动组件扫描 Spring 提供组件扫描(component scanning)功能.它能从指定的classpath里自动扫描.侦测和实例化具有特定注解的组件. 基本的注解是@Comp ...
- Spring框架学习(一)
一. spring概述 Spring 框架是一个分层架构,由 7 个定义良好的模块组成.Spring 模块构建在核心容器之上,核心容器定义了创建.配置和管理 bean 的方式,如图 1 所示. 图 1 ...
随机推荐
- extern “C”
http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html 问题:extern “C” 在C++环境下使用C函数的时候,常常 ...
- python中执行shell命令
查看输出结果 import os output = os.popen('cat 6018_gap_5_predict/solusion2/solusion2_0-1.txt | wc -l') pri ...
- 【webpack】理解配置文件
学习链接: http://blog.csdn.net/hongchh/article/details/55113751 https://segmentfault.com/a/1190000009356 ...
- stylus的用法
参考链接:预处器的对比——Sass.LESS和Stylus http://www.w3cplus.com/css/sass-vs-less-vs-stylus-a-preprocessor-sho ...
- hdu_1009 贪心
FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- .net增删该查DBAccess的应用
1.首先引用dll文件 2. //DBAccess.dll引用一個dll文件 private IDBAccess _access; private static readonly stri ...
- 跳转到AppStore下载app
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://itunes.apple.com/cn/ap ...
- pytest setup和teardown初始化
用法简介: setup_method:仅作用于class用例集中的用例,置于class内,每个用例都会调用一次 setup_function:作用于独立的def用例,不可作用于class内的用例 se ...
- python-基础小游戏,人在 江湖飘,哪能不挨刀,我几刀砍死你
#人在 江湖飘,哪能不挨刀,我几刀砍死你 #规则:5赢4. 4赢3 .3赢2. 2赢1 . 1赢5 #提示:绝对值函数abs #假设:老王和老李 import random import time p ...
- Leetcode名企之路
微信扫码关注,每天推送一道面试题! 公众号:Leetcode名企之路 作者简介 知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学. 小米广告第三代广告引擎的设计者.开发者: 负责小米应用商店.日历.开 ...