Spring管理 xml方式(2属性)

1.spring支持的属性注入的方法:构造函数注入,setter方法注入

User类,属性name,age

public class User {                          

    private String name;                     

    private Integer age;                     

    public User(String name, Integer age) {
        this.name = name;
        this.age = age;
    }            
 public String getName() {     return name; }

 public void setName(String name) {     this.name = name; }

 public Integer getAge() {     return age; }

 public void setAge(Integer age) {     this.age = age; }

 public User() { }
@Override public String toString() { return "User{" + "name=‘" + name + ‘\‘‘ + ", age=" + age + ‘}‘; } } 

2.构造函数注入--<constructor-arg>(name,value,index,type,ref)

当属性中有了对象呢?

将<constructor-arg>或<property>中的value替换成ref即可,ref的值是对象属性在xml中的beanId

<bean id="user" class="com.pheony.demo4.User" >
        <constructor-arg name="name" value="张三"></constructor-arg>
        <constructor-arg name="age" value="35"></constructor-arg>
</bean>

3.setter方法注入--<property>(name,value,ref)

    <bean id="user1" class="com.pheony.demo4.User" >
        <property name="name" value="李四"></property>
        <property name="age" value="18"></property>
    </bean>

注:使用setter不仅要对属性添加set方法,当有有参构造方法的时候,需要添加上无参构造方法,否则没有<constructor-arg>会报错

p命名空间-------简化xml配置(spring2.5之后引入)

<bean id="user2" class="com.pheony.demo4.User" p:name="王五" p:age="23" p:cat-ref="cat" />

SpEL注入:spring表达式语言,对依赖进行简化

语法:value="#{表达式}"

4.复杂类型属性的注入

数组类型   private String[] arrs;

        <property name="arrs">
            <list>
                <value>aaa</value>
                <value>bbb</value>
                <value>ccc</value>
            </list>
        </property>

List集合类型  private List<String> list;

        <property name="list">
            <list>
                <value>111</value>
                <value>222</value>
                <value>333</value>
            </list>
        </property>

Set集合类型  private Set<String> set;

        <property name="set">
            <set>
                <value>ddd</value>
                <value>eee</value>
                <value>fff</value>
            </set>
        </property>

Map集合类型  private Map<String,Integer> map;

        <property name="map">
            <map>
                <entry key="a" value="1"></entry>
                <entry key="b" value="2"></entry>
                <entry key="c" value="3"></entry>
            </map>
        </property>

Properties类型  private Properties properties;

        <property name="properties">
            <props>
                <prop key="username" >root</prop>
                <prop key="password" >root</prop>
            </props>
        </property>

原文地址:https://www.cnblogs.com/sycamore0802/p/11732127.html

时间: 2024-11-05 13:50:12

Spring管理 xml方式(2属性)的相关文章

Spring基于XML方式的使用

一.IoC配置 IoC的配置是通过Spring的xml文件的bean标签进行的. 1.bean标签介绍 bean标签一般是在xml文件进行配置的,xml文件一般样式如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.or

Spring通过XML方式实现定时任务

1 package com.wisezone.service; 2 3 import java.text.SimpleDateFormat; 4 import java.util.Date; 5 6 import org.springframework.scheduling.annotation.Scheduled; 7 import org.springframework.stereotype.Service; 8 9 @Service 10 public class JobService {

Spring根据XML配置文件注入属性

方法一使用setter方法 package com.swift; public class Book { private String bookName; public void setBook(String bookName) { this.bookName = bookName; } @Override public String toString() { return "Book [book=" + bookName + "]"; } } 在Spring框架中

Spring(使用XML方式的AOP)

方法1:<?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:context="http://www.springframework.org

spring框架学习(七)spring管理事务方式之xml配置

1.DAO AccountDao.java package cn.mf.dao; public interface AccountDao { //加钱 void increaseMoney(Integer id,Double money); //减钱 void decreaseMoney(Integer id,Double money); } AccountDaoImpl.java package cn.mf.dao; import org.springframework.jdbc.core.s

spring框架学习(八)spring管理事务方式之注解配置

1.DAO AccountDao.java package cn.mf.dao; public interface AccountDao { //加钱 void increaseMoney(Integer id,Double money); //减钱 void decreaseMoney(Integer id,Double money); } AccountDaoImpl.java package cn.mf.dao; import org.springframework.jdbc.core.s

Spring 配置文件XML -- &lt;beans&gt;中属性概述

beans : xml文件的根节点. xmlns : XML NameSpace的缩写,因为XML文件的标签名称都是自定义的,自己写的和其他人定义的标签很有可能会重复命名,而功能却不一样,所以需要加上一个namespace来区分这个xml文件和其他的xml文件,类似于java中的package xmlns:xsi : xml文件遵守xml规范,xsi全名:xml schema instance,是指具体用到的schema资源文件里定义的元素所准守的规范.即/spring-beans-2.0.xs

spring 声明式事务管理注解方式实现

使用注解实现Spring的声明式事务管理,更加简单! 步骤: 1) 必须引入Aop相关的jar文件 2) bean.xml中指定注解方式实现声明式事务管理以及应用的事务管理器类 3)在需要添加事务控制的地方,写上: @Transactional @Transactional注解: 1)应用事务的注解 2)定义到方法上: 当前方法应用spring的声明式事务 3)定义到类上:   当前类的所有的方法都应用Spring声明式事务管理; 4)定义到父类上: 当执行父类的方法时候应用事务. 案例: 1.

【初识Spring】对象(Bean)实例化及属性注入(xml方式)

title: [初识Spring]对象(Bean)实例化及属性注入(xml方式) date: 2018-08-29 17:35:15 tags: [Java,Web,Spring] --- ?#初识Spring之Bean实例化及属性注入 1.通过xml配置的方式进行实例化. 配置文件中bean标签的常用属性 通过无参构造(常用) 使用静态工厂进行创建 使用实例工厂进行创建 2.属性注入. 使用有参数构造方法注入属性 使用set方法注入属性(常用) 注入对象类型属性 注入复杂类型属性 xml配置的