1. package com.hanqi;
  2.  
  3. public class HelloWorld {
  4.  
  5. public HelloWorld()
  6. {
  7.  
  8. }
  9.  
  10. public HelloWorld(String name)
  11. {
  12. this.name = name;
  13. }
  14.  
  15. private User user;
  16.  
  17. private String name;
  18.  
  19. public String getName() {
  20. return name;
  21. }
  22.  
  23. public void setName(String name) {
  24.  
  25. System.out.println("设置name = " + name);
  26.  
  27. this.name = name;
  28. }
  29.  
  30. public User getUser() {
  31. return user;
  32. }
  33.  
  34. public void setUser(User user) {
  35. this.user = user;
  36. }
  37.  
  38. public void sayHello()
  39. {
  40. System.out.println("Hello " + name + " " + user);
  41. }
  42.  
  43. }

HelloWorld.java

  1. package com.hanqi;
  2.  
  3. import org.springframework.context.ApplicationContext;
  4. import org.springframework.context.support.ClassPathXmlApplicationContext;
  5.  
  6. public class Main {
  7.  
  8. //调用
  9. public static void main(String[] args) {
  10.  
  11. /*
  12. //初始化
  13. HelloWorld hw = new HelloWorld();
  14.  
  15. hw.setName("Java");
  16.  
  17. hw.sayHello();
  18. */
  19. //构建容器
  20. ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
  21.  
  22. //从容器中获取实例 控制反转IOC
  23. HelloWorld hw = (HelloWorld)ac.getBean("helloWorld");
  24.  
  25. //调用实例的方法
  26. hw.sayHello();
  27.  
  28. }
  29.  
  30. }

Main.java

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
  5.  
  6. <bean id="helloWorld" class="com.hanqi.HelloWorld">
  7. <!-- 依赖注入DI -->
  8. <property name="name" value="Spring"></property>
  9. <property name="user" ref="user1"></property>
  10.  
  11. </bean>
  12.  
  13. <bean id="user" class="com.hanqi.User">
  14. <property name="name" value="小强"></property>
  15. </bean>
  16.  
  17. <bean id="user1" class="com.hanqi.User"><!-- User中的 name、age、sex 一一对应 -->
  18. <constructor-arg value="小明" type="String"></constructor-arg> <!-- 用 index="顺序号" 进行匹配 -->
  19. <constructor-arg value="12" type="int"></constructor-arg> <!-- type="数据类型" 根据数据类型来进行匹配 -->
  20. <constructor-arg value="男" type="String"></constructor-arg>
  21. <!-- <constructor-arg value="小明" index="0"></constructor-arg> 用 index="顺序号" 进行匹配 -->
  22. </bean>
  23.  
  24. </beans>

applicationContext.xml

  1. package com.hanqi;
  2.  
  3. public class User {
  4.  
  5. public User()
  6. {
  7.  
  8. }
  9.  
  10. @Override
  11. public String toString() {
  12. return "User [name=" + name + ", age=" + age + ", sex=" + sex + "]";
  13. }
  14.  
  15. public User(String name, int age, String sex) {
  16. super();
  17. this.name = name;
  18. this.age = age;
  19. this.sex = sex;
  20. }
  21.  
  22. private String name;
  23. private int age;
  24. private String sex;
  25.  
  26. public int getAge() {
  27. return age;
  28. }
  29.  
  30. public void setAge(int age) {
  31. this.age = age;
  32. }
  33.  
  34. public String getSex() {
  35. return sex;
  36. }
  37.  
  38. public void setSex(String sex) {
  39. this.sex = sex;
  40. }
  41.  
  42. public String getName() {
  43. return name;
  44. }
  45.  
  46. public void setName(String name) {
  47. this.name = name;
  48. }
  49. }

User.java

20160121--Spring的更多相关文章

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

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

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

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

  3. Spring基于AOP的事务管理

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

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

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

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

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

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

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

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

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

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

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

  9. Spring之旅(2)

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

  10. Spring之旅

    Java使得以模块化构建复杂应用系统成为可能,它为Applet而来,但为组件化而留. Spring是一个开源的框架,最早由Rod Johnson创建.Spring是为了解决企业级应用开发的复杂性而创建 ...

随机推荐

  1. iOS伪实现打地鼠游戏

    打地鼠是一款可以用iOS知识来实现的一种游戏.其核心技术就是通过imageView来播放动画,点击button时来停止当前播放的动画开始击打地鼠的动画.话不多说直接上代码. 这是添加当前的背景图片,然 ...

  2. hdu 2660 Accepted Necklace(dfs)

    Problem Description I have N precious stones, and plan to use K of them to make a necklace for my mo ...

  3. Mysql数据库启动

    1.改变数据库的访问ip: vim /etc/mysql/my.cnf 找到下面选项: bind-address            = 192.168.1.128 修改即可. 2.mysql启动命 ...

  4. 位运算 (&|)与--或 一位数组表示多种意思~~ 与--或

    var arr:Array = [0,1,2,4,8,16] var gate:int = 0; gate |= arr[1] gate |= arr[2] gate |= arr[3] trace( ...

  5. C#获取变量名的扩展方法

    // </summary> /// <param name="var_name"></param> /// <param name=&qu ...

  6. T-SQL事务

    事务 订火车票的时候,下一个订单,这个订单中,包含多个购买信息,要么全部执行,要么全部不执行,合作事务就是来处理这种模型的一种机制. --关键字:transaction 或 tran 简写形式 --开 ...

  7. 安装rvm命令行工具

    rvm是一个命令行工具,可以提供一个便捷的多版本ruby环境的管理和切换. https://rvm.io/ 如果你打算学习ruby/rails, rvm是必不可少的工具之一. 这里所有的命令都是再用户 ...

  8. xcode新建项目介绍

    xcode新建项目介绍 1.打开xcode选择“create a new xcode project 2.product name 工程名称 campany identifter 公司id 一般都写公 ...

  9. Spring随笔 - 事务隔离级别

    Spring提供5中事务隔离级别: ISOLATION_DEFAULT:使用数据库后端的默认隔离级别. ISOLATION_READ_UNCOMMITTED:允许读取尚未提交的数据变更.可能会导致脏读 ...

  10. 请简述javascript的数据类型种类?

    答案: javascript里的数据类型分为基本数据类型 和 引用数据类型两种, 其中, 基本数据类型包括5个:数值,字符串,布尔,null, undefined 引用数据类型包括3个:array,f ...