文档章节

spring的XML装配

尚浩宇
 尚浩宇
发布于 2015/11/02 15:44
字数 507
阅读 56
收藏 0

贴上几个类,留作备忘

/**
 * <p>Description: </p>
 * @author scc
 * @since 创建时间:2015年11月2日 下午1:44:05
*/
package test.testdi;

import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;
import java.util.Set;

/**
 * <p>Description: </p>
 * @author scc
 * @since 创建时间:2015年11月2日 下午1:44:05
 */
public class Student {
	private Teacher teacher;
	private String name;
	private Toy toy;
	private List<String> list;
	private Set<Toy> toys;
	private Map<String, Toy> detailtoys;
	private Properties properties;
	/**
	 * <p>Description: </p>
	 * @author scc
	 * @since 创建时间:2015年11月2日 下午1:50:41
	 ********************************** 
	 */
	public Student() {
		// TODO Auto-generated constructor stub
	}
	public Student(Teacher teacher) {
		this.teacher=teacher;
	}
	
	public void init(){
		System.out.println("init");
	}
	public void say(){
		System.out.println((null==teacher?"":teacher.teach())+"say somthing");
	}
	public void say2(){
		System.out.println(toy.toy()+"========="+ name);
	}
	public void destory(){
		System.out.println("destory");
	}
	public void say3(){
		for (String string : list) {
			System.out.println(string);
		}
	}
	public void say4(){
		for (Toy toy : toys) {
			System.out.println(toy.toy());
		}
	}
	public void say5(){
		for(Entry<String, Toy> toy:detailtoys.entrySet()){
			System.out.println(toy.getKey()+"========"+toy.getValue().toy());
		}
	}
	public void say6(){
		for(Entry<Object, Object> toy:properties.entrySet()){
			System.out.println(toy.getKey()+"========"+toy.getValue());
		}
	}
	…………………省略setter和getter………………………
}

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"
             xmlns:context="http://www.springframework.org/schema/context"
             xmlns:aop="http://www.springframework.org/schema/aop"
             xmlns:tx="http://www.springframework.org/schema/tx"
             xsi:schemaLocation="http://www.springframework.org/schema/beans
                     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                     http://www.springframework.org/schema/context
                     http://www.springframework.org/schema/context/spring-context-3.0.xsd
                     http://www.springframework.org/schema/aop
                     http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
                     http://www.springframework.org/schema/tx
                     http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
	<bean id="student" class="test.testdi.Student" init-method="init" destroy-method="destory">
		<constructor-arg index="0" ref="teacher"/>
		<property name="name" value="张三"/>
		<property name="toy" ref="toy"/>
		<property name="list">
			<list>
				<value>1</value>
				<value>1</value>
				<value>1</value>
				<value>1</value>
				<value>1</value>
			</list>
		</property>
		<property name="toys">
			<set value-type="test.testdi.Toy">
				<ref bean="toy"/>
				<ref bean="toy"/>
				<ref bean="toy"/>
			</set>
		</property>
		<property name="detailtoys">
			<map>
				<entry key="no1" value-ref="toy"/>
				<entry key="no2" value-ref="toy"/>
			</map>
		</property>
		<property name="properties">
			<props>
				<prop key="no1">haha</prop>
				<prop key="no2">heihei</prop>
			</props>
		</property>
	</bean>
	<bean id="teacher" class="test.testdi.Teacher"/>
	<bean id="toy" class="test.testdi.Toy"/>
	<bean id="log" class="test.testdi.Log"/>
	<aop:config>
		<aop:aspect ref="log">
			<aop:pointcut expression="execution(* *.say(..))" id="cutstudent"/>
			<aop:before method="before" pointcut-ref="cutstudent"/>
			<aop:after method="after" pointcut-ref="cutstudent"/>
		</aop:aspect>
	</aop:config>
</beans>

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>stu-spring</groupId>
	<artifactId>stu-spring</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>
	<dependencies>
		<!-- spring基础 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>3.2.3.RELEASE</version>
		</dependency>
		<!-- spring切面 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
			<version>3.2.8.RELEASE</version>
		</dependency>
	</dependencies>
</project>


© 著作权归作者所有

下一篇: spring的spel
尚浩宇

尚浩宇

粉丝 70
博文 151
码字总数 126696
作品 4
朝阳
程序员
私信 提问
Spring中Beans的自动装配概述

以下内容引用自http://wiki.jikexueyuan.com/project/spring/beans-autowiring.html: 在之前的做法上会参照这样的顺序:1、使用元素声明bean,2、并使用XML配置文件中的和元素注入。但现在可...

easonjim
2017/05/22
0
0
Spring_总结_03_装配Bean之自动装配

一、前言 本文承接上一节:Spring总结02_依赖注入 在上一节我们了解到依赖注入的实质就是装配。 这一节我们来学习下装配Bean的相关知识。 二、Bean的装配机制 1.三种装配机制 Spring提供了三...

shirayner
2018/07/27
0
0
什么是Spring的命名空间及使用Spring 的命名空间p 装配属性

这个就要从XML说了,Spring的配置管理可以利用XML方式进行配置,而XML里面就有命名空间这个概念。。实际上就和标签的意思有点像 你给一个命名空间以后,这个XML文件里面就可以用那个命名空间...

随智阔
2014/04/02
2K
0
2019年一线大厂春招:Spring面试题和答案合集(上篇)

什么是spring? Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为...

别打我会飞
03/31
91
1
spring bean的自动装配方式 种种

1.byName 是指通过bean的属性名字进行装配,在spring的xml文档中查找与要装配属性相同名称的bean进行装配。 2.byType 是指在spring 的xml中正好有一个与属性类型相同的bean进行自动装配。如果...

dml124
2012/07/13
142
0

没有更多内容

加载失败,请刷新页面

加载更多

Less导入选项

Less 提供了CSS @import CSS规则的几个扩展,以提供更多的灵活性来处理外部文件。 语法: @import (keyword) "filename"; 以下是导入指令的相关详情: reference,使用较少的文件但不输出。 ...

凌兮洛
3分钟前
0
0
Docker下实现MySQL主从(读、写分离)同步配置

docker下实现两个(或多个)mysql容器的主、从数据库同步配置,首先要明白docker容器的相互通信关系,默认是使用的bridge模式: 也就是说,通过docker run命令创建docker容器是每个容器都有自己...

源哥L
13分钟前
3
0
一起来学Java8(三)——方法引用

在一起来学Java8(一)——函数式编程中有一个简单的函数式编程的例子: import java.util.function.Consumer;class Person { public static void sayHello(String name) { S...

猿敲月下码
32分钟前
15
0
读书笔记:深入理解ES6(十一)

第十一章 Promise与异步编程   Promise可以实现其他语言中类似Future和Deferred一样的功能,是另一种异步编程的选择,它既可以像事件和回调函数一样指定稍后执行的代码,也可以明确指示代码...

张森ZS
55分钟前
20
0
面试官,Java8 JVM内存结构变了,永久代到元空间

在文章《JVM之内存结构详解》中我们描述了Java7以前的JVM内存结构,但在Java8和以后版本中JVM的内存结构慢慢发生了变化。作为面试官如果你还不知道,那么面试过程中是不是有些露怯?作为面试...

程序新视界
今天
29
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部