一.1.创建service类和Dao类

(1)在service中得到dao对象

2.具体实现过程

(1)在service里边把dao作为类型属性

(2)生成dao类型属性的set方法

public class UserDao {
public void add(){
System.out.println("dao--------------");
}
}
public class UserService {
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void add(){
System.out.println("service--------------");
userDao.add();
}
}

3.xml配置:

<bean id="userService" class="com.example.propetys.UserService">
<!-- name的值是 UserService类属性的值  ref是UserDao配置的ID的值-->
<property name="userDao" ref="userDao"></property>
</bean>
<bean id="userDao" class="com.example.propetys.UserDao"></bean>

二:P名称空间注入

1.建一个类:

public class Person {
private String pname; public void setPname(String pname) {
this.pname = pname;
}
public void test(){
System.out.println("asdhjcbsdj"+pname);
}
}

2.xml文件<beans>下

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

<bean id="person" class="com.example.propetys.Person" p:pname="lucy"></bean>

三.注入复杂类型属性

1.数组

2.list集合

3.map集合

4.properties类型

(1)建一个类

import java.util.List;
import java.util.Map;
import java.util.Properties; public class Person {
private String pname; public void setPname(String pname) {
this.pname = pname;
}
private String[] arrs;
private List<String> list;
private Map<String, String> map;
private Properties properties; public void setArrs(String[] arrs) {
this.arrs = arrs;
}
public void setList(List<String> list) {
this.list = list;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
public void setProperties(Properties properties) {
this.properties = properties;
}
public void test(){
System.out.println("arrs:"+arrs);
System.out.println("list:"+list);
System.out.println("map:"+map);
System.out.println("properties:"+properties);
}
}

(2)配置xml文件

<bean id="person" class="com.example.propetys.Person" >
<!-- 数组 -->
<property name="arrs">
<list>
<value>数学</value>
<value>语文</value>
<value>历史</value>
<value>英语</value>
</list>
</property>
<!-- list -->
<property name="list">
<list>
<value>c/c++</value>
<value>java</value>
</list>
</property>
<!-- map -->
<property name="map">
<map>
<entry key="a" value="图书馆"></entry>
<entry key="b" value="教学楼"></entry>
<entry key="c" value="宿舍"></entry>
</map>
</property>
<!-- properties -->
<property name="properties">
<props>
<prop key="driverclass">com.mysql.jdbc.Driver</prop>
<prop key="username">root</prop>
</props>
</property>
</bean>

spring注入对象类型的属性的更多相关文章

  1. Spring根据XML配置文件注入对象类型属性

    这里有dao.service和Servlet三个地方 通过配过文件xml生成对象,并注入对象类型的属性,降低耦合 dao文件代码: package com.swift; public class Da ...

  2. Java框架spring 学习笔记(八):注入对象类型属性

    使用set方法注入对象属性 编写UserDao.java文件 package com.example.spring; public class UserDao { public void print( ...

  3. jquery中ajax向action传递对象参数,json ,spring注入对象

    首先,我这个程序的框架是spring+struts2+hibernate. 后端的action的需要接受从前端传进来的参数,由spring的注入,可知,如果前端用的是form的话,只需要在每个inpu ...

  4. Spring 注入集合类型

    定义了一个类: @Service public class StringTest implements CachedRowSet,SortedSet<String>,Cloneable @ ...

  5. js对象—类型和属性特性

    前言 权威指南中摘要的,工作中用不到的,重要的js基础. 三类对象两类属性 内置对象(native object) 是由ECMScript规范定义的对象或者类.例如:函数,数组,日期,正则... 宿主 ...

  6. Spring注入日期到bean属性-CustomDateEditor

    这一个Spring例子向您展示如何为bean属性注入一个“日期”. package com.yiibai.common; import java.util.Date; public class Cus ...

  7. Spring注入对象(3)

    2019-03-08/10:45:04 演示:对Product对象,注入一个Category对象 1.创建pojo类 Product类中有对Category对象的setter getter packa ...

  8. 【python深入】获取对象类型及属性

    在python中,查看当前的对象所能够调用的所有方法? 查看类型可以通过type,也可以通过isinstance方法,查看属性可以通过dir() 下面是对type的介绍: ————>基本类型的判 ...

  9. web filter用spring注入对象

    tomcat容器初始化顺序监听器–>过滤器–>servlet,因此springMVCservlet初始化之前,过滤器就已经初始化过了,如果在过滤器中需要注入spring容器管理的bean是 ...

随机推荐

  1. SQLServer2008 表连接时null 和 null 无法匹配?

    例如 select * from tbl_a a left join tbl_b b on b.docno=a.docno and b.project=a.project where a.docno= ...

  2. (转)vuex2.0 基本使用(3) --- getter

    有的组件中获取到 store 中的state,  需要对进行加工才能使用,computed 属性中就需要写操作函数,如果有多个组件中都需要进行这个操作,那么在各个组件中都写相同的函数,那就非常麻烦,这 ...

  3. mysql数据库之存储过程入门

    引用:百度百科 存储过程 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存 ...

  4. VS2012快捷操作功能

    VS2003用了6年,感情深厚,最近换工作刚刚接触VS2010,使用一个月感觉VS2010在人性化方面的功能实在是太强悍了,大大提高了写代码的效率,就如同魔兽世界里的快捷键操作一样,左手抚键右手摸鼠, ...

  5. Java中final,finally和finalize区别

    Day11_SHJavaTraing_4-18-2017 Java中final,finally和finalize区别 1.final—修饰符(关键字) ①final修饰类,表示该类不可被继承 ②fin ...

  6. AI:AI是什么?

    古老的哲学对科学有永远的借鉴意义,科学上的咬文嚼字往往会让其丧失完备性. 一.AI是什么 你看起来它有多好,它就有多好.本质只能通过表象来描述,在色即是空的逻辑里,图灵测试也许是最精准的AI测试方式. ...

  7. 计算laws的matlab代码

    很简单的代码:不过花了codeforge上的10个点,自己写也早写出来了; 代码如下: 文件:calLaws.m function [y,h_v,h_h]=calLaws(x,id,LocalEner ...

  8. 通用功能类:改变WinForm窗体显示颜色

    一.显示窗体调用方法 protected override void OnLoad(EventArgs e)        {            MDIClientSupport.SetBevel ...

  9. CorelDRAW中内置的视频教程在哪里?

    CorelDRAW中内置了很多教学内容和视频教程,可以帮助用户快速学习和掌握CorelDRAW的使用方法,创作出个性化的作品.很多小伙伴表示找不到软件自带学习视频,现在小编就来告诉你. 用户可以通过两 ...

  10. java实现简单窗体小游戏----球球大作战

    java实现简单窗体小游戏----球球大作战需求分析1.分析小球的属性: ​ 坐标.大小.颜色.方向.速度 2.抽象类:Ball ​ 设计类:BallMain—创建窗体 ​ BallJPanel—画小 ...