package com.hanqi;

import java.util.*;

import com.hanqi.User;

public class HelloWorld {

    public HelloWorld()
{ } public HelloWorld(String name)
{
this.name = name;
} private User user; private String name; public String getName() {
return name;
} public void setName(String name) { System.out.println("设置name = " + name); this.name = name;
} public User getUser() {
return user;
} public void setUser(User user) {
this.user = user;
} public void sayHello()
{
System.out.println("Hello " + name + " " + user);
} private List<User> userlist; public List<User> getUserlist() {
return userlist;
} public void setUserlist(List<User> userlist) {
this.userlist = userlist;
} }

HelloWorld

<?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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- autowire="byName" bean的id和要装配的属性名一致,根据属性名进行自动装配 -->
<!-- <bean id="helloWorld" autowire="byName" class="com.hanqi.HelloWorld"> --> <!-- autowire="byType" 根据bean的类型进行自动匹配的,要求同一类型的bean只能被定义一个 -->
<!-- <bean id="helloWorld" autowire="byType" class="com.hanqi.HelloWorld"> --> <bean id="helloWorld" scope="prototype" class="com.hanqi.HelloWorld" p:user-ref="user2">
<property name="name" value="测试1"></property>
<property name="userlist">
<list >
<ref bean="user1" />
</list>
</property>
</bean> <bean id="user1" class="com.hanqi.User"> <property name="name" value="测试3"></property>
<property name="age" value="20"></property>
<property name="sex" value="男"></property> </bean> <bean id="user2" class="com.hanqi.User" p:name="测试4" p:age="30" p:sex="男">
</bean> </beans>

applicationContext.xml

package com.hanqi;

public class User {

    public User()
{ } @Override
public String toString() {
return "User [name=" + name + ", age=" + age + ", sex=" + sex + "]";
} public User(String name, int age, String sex) {
super();
this.name = name;
this.age = age;
this.sex = sex;
} public User(String name, String sex, int age) {
super();
this.name = name;
this.age = age;
this.sex = sex;
} private String name;
private int age;
private String sex; public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String getSex() {
return sex;
} public void setSex(String sex) {
this.sex = sex;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}

User

package com.hanqi;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestSp { public static void main(String[] args) { //构建容器
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml"); HelloWorld hw = (HelloWorld)ac.getBean("helloWorld"); hw.sayHello(); HelloWorld hw1 = (HelloWorld)ac.getBean("helloWorld");
System.out.println(hw == hw1); } }

TestSp

20160125--Spring的更多相关文章

  1. Java缓存相关memcached、redis、guava、Spring Cache的使用

    随笔分类 - Java缓存相关 主要记录memcached.redis.guava.Spring Cache的使用 第十二章 redis-cluster搭建(redis-3.2.5) 摘要: redi ...

  2. 基于spring注解AOP的异常处理

    一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...fin ...

  3. 玩转spring boot——快速开始

    开发环境: IED环境:Eclipse JDK版本:1.8 maven版本:3.3.9 一.创建一个spring boot的mcv web应用程序 打开Eclipse,新建Maven项目 选择quic ...

  4. Spring基于AOP的事务管理

                                  Spring基于AOP的事务管理 事务 事务是一系列动作,这一系列动作综合在一起组成一个完整的工作单元,如果有任何一个动作执行失败,那么事务 ...

  5. [Spring]IoC容器之进击的注解

    先啰嗦两句: 第一次在博客园使用markdown编辑,感觉渲染样式差强人意,还是github的样式比较顺眼. 概述 Spring2.5 引入了注解. 于是,一个问题产生了:使用注解方式注入 JavaB ...

  6. 学习AOP之透过Spring的Ioc理解Advisor

    花了几天时间来学习Spring,突然明白一个问题,就是看书不能让人理解Spring,一方面要结合使用场景,另一方面要阅读源代码,这种方式理解起来事半功倍.那看书有什么用呢?主要还是扩展视野,毕竟书是别 ...

  7. 学习AOP之深入一点Spring Aop

    上一篇<学习AOP之认识一下SpringAOP>中大体的了解了代理.动态代理及SpringAop的知识.因为写的篇幅长了点所以还是再写一篇吧.接下来开始深入一点Spring aop的一些实 ...

  8. 学习AOP之认识一下Spring AOP

    心碎之事 要说知道AOP这个词倒是很久很久以前了,但是直到今天我也不敢说非常的理解它,其中的各种概念即抽象又太拗口. 在几次面试中都被问及AOP,但是真的没有答上来,或者都在面上,这给面试官的感觉就是 ...

  9. 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?

    今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑 ...

  10. Spring之旅(2)

    Spring简化Java的下一个理念:基于切面的声明式编程 3.应用切面 依赖注入的目的是让相互协作的组件保持松散耦合:而AOP编程允许你把遍布应用各处的功能分离出来形成可重用的组件. AOP面向切面 ...

随机推荐

  1. 高性能浏览器网络(High Performance Browser Networking) 第二章

    第2章 TCP篇 互联网的核心是两个协议,IP和TCP. IP也叫Internet协议,提供主机到主机的路由和寻址:TCP,传输控制协议,在不可靠的传输通道上提供一个可靠的网络抽象.TCP / IP协 ...

  2. 【floyd求最小环】【Vijos 1046】【观光旅游】

    标签:图结构 最短路 题目大意:给你一个无向图,至少经过3个节点的简单回路(不能包括其他环) 一开始的思路:用一个NUM[i][j]表示i到j的最短路经过几个节点,显然解法不太优美,而且还是错的 再想 ...

  3. 怎么在一个list集合里面筛选重复的数据,在重复的数据中取最后添加的那条数据

    1.先将集合进行分组(分组字段)2.在判断分组的数量是否大于 03.大于0,则有重复的数据

  4. 《JavaScript 闯关记》之初探

    当学习一门新的编程语言的时候,应该边学边做,反复演练以加深理解.因此,你需要一个 JavaScript 解释器.幸运的是,每一个 Web 浏览器都包含一个 JavaScript 解释器. 可以通过在 ...

  5. HTML构成及基本标签

    超文本标记语言:HTML W3C:互联网联盟 注释语法:<!--注释掉的内容--> 标签格式: 双标签元素:<标签名 属性 style="样式">内容< ...

  6. 替换Gravatar头像默认服务器

    这几天Gravatar头像服务器应该集体被墙了,头像无法显示.兵来将挡,水来土掩,上有政策,下有对策,和谐社会靠大家,哈. 利用多说Gravatar头像中转服务器替代头像默认服务器. 将下面代码添加到 ...

  7. php基础_2

    php可变变量: $a = "hello"; $$a = "world"; echo $a . $$a; 输出:hello world; current — 返 ...

  8. VC++客户端 缩小包的尺寸

    图片压缩: 1. 背景图片尺寸一般为100-300KB,使用纯色图片可缩小至1-3KB,方法得当可缩小1M多: 2. .ico一般为100-200KB,16x16一直到256x256,可减去其中几种尺 ...

  9. python学习笔记:python对象

    一.python对象 python使用对象模型来存储数据,构造任何类型的值都是一个对象.所有的python对象都拥有三个特性:身份.类型和值. 身份:每个对象都有一个唯一的身份标识自己,对象的身份可以 ...

  10. golang sha1 signature

    package models import ( "crypto/hmac" "crypto/sha1" "encoding/base64" ...