一.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. Vue 区别

    computed和methods区别 效果是一样的,但是 computed 是基于它的依赖缓存,只有相关依赖发生改变时才会重新取值. 而methods,在重新渲染的时候,函数总会重新调用执行.

  2. supervisord 使用记录

    #supervisor简介 Supervisor是一个 Python 开发的 client/server 系统,可以管理和监控类 UNIX 操作系统上面的进程. #组成部分 supervisord(s ...

  3. 【JAVA练习】- 给定精度求圆周率π

    给定一个精度求圆周率π的近似值 给定公式:π/4=1-1/3+1/5-1/7+1/9-... public static void main(String[] args) { System.out.p ...

  4. javascript基础(完整)

    一.什么是javascript? 是一种基于对象和事件驱动(以事件驱动的方式直接对客户端的输入做出响应,无需经过服务器端)并具有安全性能的解释型脚本语言,在web应用中得到非常广泛地应用.它不需要编译 ...

  5. Android第三方微博、无线传输、动画特效、商城应用等源码

    Android精选源码 Android汽车助手源码 一个酷炫的Android特效源码 新浪微博的第三方客户端.UI遵循Material Design. Android实现旋转木马布局多种效果 Andr ...

  6. oracle 提示登录密码过期解决

    1.登录到oracle的 服务器 2.切换到oracle 用户 3.设置到当前操作的实例名:export ORACLE_SID=XXX 4.连接数据库的命令行模式:sqlplus /nolog 5.s ...

  7. QT设计UI:QT模式对话框打开文件

    使用QT模式对话框,并使显示框 为背景色: 方法使用了QCheckBox *native;   #include <QCheckBox> 初始化函数代码: //设置默认打开图像位置 nat ...

  8. 设计包含min()函数的栈

    题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素.要求函数min.push以及pop的时间复杂度都是O(1). 分析:这是去年google的一道面试题. 我看到这道题目时,第一反应 ...

  9. Visual Studio Code 插件推荐

    Path Intellisense - 路径补全 HTML Snippets - HTML 标记增强 Markdown+Math - Markdown 增强(数学表达式) vscode-icons - ...

  10. CF319E Ping-Pong 线段树 + vector + 思维

    Code: #include<bits/stdc++.h> #define N 3000009 #define maxn 3000009 #define ll long long #def ...