java ssh cpu_初学Java ssh之Spring 第四篇

今天我来学习学习Spring中Bean。

在Spring中原来还有标签啊,它相当于标签的老爸,老爸可以有很多个儿子,但是老爸只有一个哦。

也就是说一个标签内可以有多个标签,每个标签代表一个java实例。

定义时,需要注意两个属性,一个是id,一个是class。

id是标签的唯一标示符,容器对其的访问、管理、注入都通过这个属性来完成,所以它也是唯一的。

class呢,是该bean的具体实现类,因为Spring要通过class来完成对bean的实例化,所以其必须是完整的类名,不能是接口哦!

还可以用name属性为其增加一个别名。

当Spring创建一个bean实例时,还为其指定了特定的作用域:

singleton:单例模式,使用singleton定义的bean只有一个实例。

prototype:原型模式,每次通过容器的getbean方法去调用prototype定义的bean时,都会创建一个实例。

request:每次http请求都会产生一个bean实例。

seesion:与request相似,每次http session请求时,都会产生一个bean实例。

global session:(这个不太懂啊)每个全局的http session对应一个bean实例。

不指定作用域时,默认为singleton模式。

举个例子:

session和request作用域的范围很相似,不同的是session指每次Http Session请求都会有效,而request则是每次Http请求都有效。

为此,我们需要有两种配置方式:采用Listener或者Filter配置。

当使用Servlet2.4以上规范的Web容器时,可在Web容器下的web.xml文件中增加如下配置,该Listerner负责为request作用域负责:

1

2 ...3

4 org.springframework.web.context.request.RequestContextListener

5

6 ...7

当使用2.4以下规范的就不能用这个配置了,只能改为Filter配置:

1

2 ...3

4 requestContextFilter

5 org.springframework.web.filter.RequestContextFilter

6

7 requestContextFilter

8 /*

9

10

11 ...12

一旦配置上面二者之一,就可以在Spring配置文件中使用request和session作用域了。

如果需要为Bean属性值是容器中另一个bean实例,需要使用元素,使用该元素会有两个属性:

bean:引用不在同一个XML文件中的另一个bean实例的id属性值。

local:引用在同一个XML文件中其他bean实例的id属性值。举一个例子:

1

2

3

4

5

6

7

它还有一种简洁的写法:

1

2

3

4

此处简洁了ref元素,将它并入了property的属性中,当然这么写也就不区分ref元素中的local和bean属性了。

此外,如果bean的属性值是个集合的话,则需要使用集合元素,、、和分别用来设置类型为List、Set、Map和Properties的集合属性值。

下面我们来改造一个之前写的com/sep/basic/service/impl/Lenovo类,将其中包含多个集合属性。

1 packagecom.sep.basic.service.impl;2

3 importjava.util.List;4 importjava.util.Map;5 importjava.util.Properties;6 importjava.util.Set;7

8 importcom.sep.basic.service.Computer;9 importcom.sep.basic.service.Key;10

11 public class Lenovo implementsComputer{12 //下面是集合属性

13 private Listsize;14 privateSet price;15 private Mapkey;16 privateProperties health;17 //private Key key;18

19 //各属性的setter方法

20 public void setSize(Listsize) {21 this.size =size;22 }23

24

25 public voidsetPrice(Set price) {26 this.price =price;27 }28

29

30 public void setKey(Mapkey) {31 this.key =key;32 }33

34

35 public voidsetHealth(Properties health) {36 this.health =health;37 }38

39 @Override40 public voiduseKey() {41 System.out.println(size);42 System.out.println(price);43 System.out.println(key);44 System.out.println(health);45 }46

47 }

下面来看一下我们的applicationContext.xml的配置代码:

1 <?xml version="1.0" encoding="UTF-8"?>

2

4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

5 xmlns:p="http://www.springframework.org/schema/p"

6 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

7

8

9

10

11

12

13 17'

14 21'

15 30'

16

17

18

19

20

21

22 普通的字符串

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47 正常

48 正常

49

50

51

52

53

54

55

这样我们就成功地将所有集合属性赋值了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559193.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中servlet知识_jsp_Servlet常用知识总结

Servlet三个要素[java] view plain copy print?1.必须继承自HttpServlet2.必须实现doGet()或者doPost()3.必须在web.xml中配置ServletHttpServeltRrequest:请求对象getParameter():获得表单元素的值getAttribute():获得request范围中的属性值setAttribute():设置reqeust范围中…

java语言执行模式,使用java.exe执行静默模式

I would like to know if there is a way to execute the "java.exe" as a background process (silent mode execution)Ex: java -cp . MyClass arg1I want to run the above statement as a background process , without opening command window解决方案Under Win…

linux下tomcat部署java web项目_求助帖 linux服务器 tomcat部署javaweb项目问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼03-Sep-2018 17:42:07.330 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:org.apache.catalina.LifecycleException: Failed to start component [Stan…

rabbitmq+topic+java_译:5.RabbitMQ Java Client 之 Topics (主题)

我们使用的是direct(直接交换)&#xff0c;而不是使用只能进行虚拟广播的 fanout(扇出交换)&#xff0c;并且有可能选择性地接收日志。虽然使用direct(直接交换)改进了我们的系统&#xff0c;但它仍然有局限性 - 它不能基于多个标准进行路由。在我们的日志系统中&#xff0c;我…

java某个时间推迟60天_java计算两个时间相差(天、小时、分钟、秒)

public static long dateDiff(String startTime, String endTime,String format, String str) {// 按照传入的格式生成一个simpledateformate对象SimpleDateFormat sd new SimpleDateFormat(format);long nd 1000 * 24 * 60 * 60;// 一天的毫秒数long nh 1000 * 60 * 60;// …

java影碟租赁系统_java影碟管理系统

在学习基于javaweb的影碟管理系统项目的时候&#xff0c;方便日后能及时查阅&#xff0c;在本平台中记录一下基于javaweb的影碟管理系统的开发流程。在学习时候的选用了SSM(MYECLIPSE),这个框架不论是学习还是使用都非常方便&#xff0c;简单易上手。基于javaweb的影碟管理系统…

hasp 加密 java_加密软件HASP的使用说明

加密软件hasp使用说明1.hasp环境的搭建hasp环境的搭建要根据机器的环境来安装&#xff0c;①windows系统的就安装windows版本&#xff0c;安装步骤可以参考&#xff1c;录像&#xff1e;文件下里的hasp5.0系统安装.exe&#xff1b;②linux版本的需要安装linux版本&#xff0c;安…

java明文发送_使用java MD5加密网络明文

1.[代码][Java]代码import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/*** Created by liuhj on 2015/11/27.*/public class MD5 {public static void main(String args[]){StringMD5("123456");}public static String StringMD5(…

php设置session 生命周期,设置session的生命周期(php)

PHP中&#xff0c;Session变量保存在服务器端(默认以文件格式保存)&#xff0c;而Session ID以cookie形式保存在客户端。销毁session的方法有2种第一种是通过程序session_destory()方法清除所有sessionunset(session[x])来清除指定的session[x]。第二种是通过关闭浏览器关闭后会…

php 查找无限级,Ztree + PHP 无限级节点 递归查找节点法

一、前言简单的描述一下&#xff0c;实习几个原理&#xff0c;思想&#xff0c;其实写很多东西&#xff0c;思想算是最重要的。1、目标&#xff1a;将写一个无限节点的树形目录结构&#xff0c;如下图步骤&#xff1a;1、你的下载 插件 ztree。然后布置在你的项目中。2、相关C…

用php实现一个简易的web表单生成器,网络编程PHP Web表单生成器案例分析

本文实例讲述了PHP Web表单生成器。分享给大家供大家参考&#xff0c;具体如下&#xff1a;1.实例&#xff1a;2. 需求分析在项目的实际开发中&#xff0c;经常需要设计各种各样表单。直接编写HTML表单虽然简单&#xff0c;但修改、维护相对麻烦。因此&#xff0c;可以利用PHP实…

php瀑布墙,phpwind Next增加“瀑布流”图墙展示模式

近日&#xff0c;化龙巷网站CEO钱钰在微博上爆出phpwind最新版本的部分截图&#xff0c;引发行业关注。据悉&#xff0c;该版本或命名“Next”&#xff0c;目前&#xff0c;phpwind官方暂未对外披露新版本相关信息,也未公布项目的进展。从流传的产品首页效果图来看&#xff0c;…

管理员信息模块php,管理员模块功能代码

摘要&#xff1a;<?php /*** Created by PhpStorm.* User: Administrator* Date: 2019/5/10* Time: 10:12*/namespace app\admin\contro<?php /*** Created by PhpStorm.* User: Administrator* Date: 2019/5/10* Time: 10:12*/namespace app\admin\controller;use app…

php项目的建立,PHP开发-ZendStudio初学教程-建立PHP项目

英文描述Project Name: Enter the name of your project.Location: Enter the location folder for your project.PHP Server :- Click the drop-down menu and select an existing server for deploying the new server project, or click Add Server to create a new server.…

matlab中随机森林实现,随机森林实现 MATLAB

matlab 中随机森林工具箱的下载地址&#xff1a;http://code.google.com/p/randomforest-matlab/downloads/detail?nameWindows-Precompiled-RF_MexStandalone-v0.02-.zip&can2&q%% 基于随机森林思想的组合分类器设计%% 清空环境变量clear allclcwarning off%% 导入数…

MATLAB电压不平衡,电力系统不对称故障计算的Matlab算法程序

NF1;for i11:NFclear;n19;n29;n09;nl115;nl215;nl015;Lfinput(请输入短路类型(单相接地短路输入‘1’&#xff0c;两相短路输入‘2’&#xff0c;两相短路接地输入‘3’):Lf);f7;If0;zf0;zg0;B1 [0 1 0.0553i 0 1 0 ;0 2 0.1228i 0 1 0;0 3 0.1785i 0 1 0 ;1 4 0.0476i 0 1.050…

matlab示波器有功功率,巧用示波器计算功率-测试测量-与非网

示波器主要用于测量电流和电压&#xff0c;然后通过一系列魔术般的数学公式就可以计算出功率。遗憾的是&#xff0c;功率有许多种类&#xff1a;瞬时功率、有功功率、视在功率和无功功率。这么多的功率术语经常让人感到困惑。本文介绍了如何在Teledyne LeCroy HDO 6000示波器上…

matlab ctrb(),4.8Matlab问题能控能观解释.ppt

Ch.4 线性系统的能控性和能观性 Matlab问题(1/1) 4.8 Matlab问题 本章涉及的计算问题主要有 状态能控性/能观性判定、 系统能控能观分解、 能控/能观规范形变换以及 能控/能观规范形实现。 下面分别介绍基于Matlab的上述问题的程序编制和计算方法。 状态能控性与能观性判定 (1/…

matlab如何导入多文本数据,将文本文件中的混合数据导入表

样本文件概述样本文件 outages.csv 包含表示美国电力中断的数据。文件的前几行如下&#xff1a;Region,OutageTime,Loss,Customers,RestorationTime,CauseSouthWest,2002-01-20 11:49,672,2902379,2002-01-24 21:58,winter stormSouthEast,2002-01-30 01:18,796,336436,2002-02…

php 表单提交文件大小,PHP如何通过表单直接提交大文件详解

PHP如何通过表单直接提交大文件详解前言我想通过表单直接提交大文件&#xff0c;django 那边我就是这么干的。而对于 php 来说&#xff0c;我认为尽管可以设置最大上传的大小&#xff0c;但最大也无法超过内存大小&#xff0c;因为它无法把文件内容都放到 php://input 里面。直…