日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Spring 中的内部bean 和集合

發布時間:2024/9/20 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring 中的内部bean 和集合 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Spring中所謂的內部bean(inner bean)是指一個bean 的<property/>或<constructor-arg/>元素中使用<bean/>元素定義的bean.內部bean 定義不需要有id或name屬性,即使指定id或name屬性值也將會被容器忽略.
在Spring中通過<list/>,<set/>, <map/>及<props/>元素可以定義和設置與Java Collection 類型對應List, Set ,Map 及Properties的值.
以下是個關于內部bean和集合的例子.
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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<!--
??注:如果此處是Action的對象,則只能用name而不能用id
-->
<bean name="/login" class="action.LoginAction">
??<property name="loginBiz">
?? <ref local="loginBiz" />
??</property>
</bean>
<bean id="loginBiz" class="biz.LoginImpl">
??<property name="haha">
?? <!--
????對應的haha在biz.LoginImpl類中為數組(注:如果屬性為List則在applicationContext.xml文件中也應用list節點)
?? -->
?? <list>
????<value>aa</value>
????<value>bb</value>
????<value>cc</value>
????<value>dd</value>
?? </list>
??</property>
??<property name="h">
?? <!--
????此處為內部bean,即h的類型為biz.ha類型的引用
?? -->
?? <bean class="biz.ha">
????<!--
???? biz.ha類中有三個屬性,分別為name(String類型),age(int類型)和map(Map類型)
????-->
????<property name="name" value="李四" />
????<property name="age" value="55" />
????<property name="map">
???? <!--
??????map在biz.ha類中我Map集合
???? -->
???? <map>
??????<!--
?????? 每一個entry為一個Map元素
??????-->
??????<entry>
?????? <key>
????????<value>hehe</value>
?????? </key>
?????? <value>hei</value>
??????</entry>
???? </map>
????</property>
?? </bean>
??</property>
??<!--
?? <constructor-arg type="java.lang.String">
?? <value>張三</value>
?? </constructor-arg>
??-->
??<constructor-arg index="0">
?? <value>張三</value>
??</constructor-arg>
??<!--
?? <constructor-arg type="int">
?? <value>55</value>
?? </constructor-arg>
??-->
??<constructor-arg index="1">
?? <value>55</value>
??</constructor-arg>
</bean>
</beans>
=================================================
LoginAction類中的代碼
=================================================
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import biz.ILoginBiz;
import form.LoginForm;
public class LoginAction extends Action {
private ILoginBiz loginBiz;
public ILoginBiz getLoginBiz() {
??return loginBiz;
}
public void setLoginBiz(ILoginBiz loginBiz) {
??this.loginBiz = loginBiz;
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
?? HttpServletRequest request, HttpServletResponse response) {
??LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub
??System.out.println("haha 我己在action中了哈...");
??loginBiz.login();
??return null;
}
}
======================================
業務層(biz)中的ILoginBiz接口
======================================
package biz;
public interface ILoginBiz {
public void login();
}
======================================
業務層(biz)中實同ILoginBiz接口的LoginImpl類
======================================
package biz;
public class LoginImpl implements ILoginBiz {
public LoginImpl() {
}
private ha h;/依賴下一個類吶....
public LoginImpl(String name, int age) {
??System.out.println("我的名稱:" + name + "我的年齡:" + age);
}
private String haha[];
public void login() {
??System.out.println("haha me is 在業務層中吶。。。快來找我吶。。。哈哈。。。");
??System.out.println("我的數組中有" + haha.length + "個數....哈哈。。。");
??System.out.println("我是內部bean吶..不錯!!!"+"我的名字叫:"+h.getName()+"嘿嘿...不好意思哈....");
??System.out.println("嘿嘿...我是Map吶..你好么?嘿嘿.."+h.getMap().get("hehe"));
}
public String[] getHaha() {
??return haha;
}
public void setHaha(String[] haha) {
??this.haha = haha;
}
public ha getH() {
??return h;
}
public void setH(ha h) {
??this.h = h;
}
}
=================================
LoginImpl類中h屬性所依賴的類
=================================
package biz;
import java.util.Map;
public class ha {
private String name;
private int age;
private Map map;
public int getAge() {
??return age;
}
public void setAge(int age) {
??this.age = age;
}
public String getName() {
??return name;
}
public void setName(String name) {
??this.name = name;
}
public Map getMap() {
??return map;
}
public void setMap(Map map) {
??this.map = map;
}
}

總結

以上是生活随笔為你收集整理的Spring 中的内部bean 和集合的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。