Spring中Bean管理操作基于XML配置文件方法实现

  • 基于XML配置文件方式实现
    • 1、基于`xml`方式创建对象
    • 2、基于`xml`方式注入属性
      • 1、创建类,定义属性和对应的set方法
      • 2、在Spring配置文件中配置对象创建,配置属性注入

基于XML配置文件方式实现

1、基于xml方式创建对象

<bean id="user" class="com.action.spring.User"></bean>
  • 使用标签中添加对应属性

    • id属性:对象别名,唯一标识。
    • class属性:类全路径(包加类名)。
  • 创建对象默认执行无参构造函数。

2、基于xml方式注入属性

  • DI:依赖注入

    • 使用set方法注入

      1、创建类,定义属性和对应的set方法

      public class Book{private String bname;private String bauthor;public void setBname(String bname){this.bname = bname;}public void setBauthor(String bauthor){this.bauthor = bauthor;}public void testBook(){System.out.println(bname+"::"+bauthor);}
      }
      

      2、在Spring配置文件中配置对象创建,配置属性注入

      <bean id="book" class="com.action.spring.Book"><!--name:类里面属性名称;value:向属性中注入的值;--><property name="bname" value="易筋经"></property><property name="bauthor" value="少林和尚"></property>
      </bean>
      

      注意: 此种方法必须保证类中有set方法来对属性进行操作。

      运行结果:

    • 有参构造注入属性

      package com.action.spring;public class Orders {private String oname;private String address;public Orders(String oname, String address) {this.address = address;this.oname = oname;}public void ordertest() {System.out.println(oname+"::"+address);}}
      

      注意:ApplicationContext context = new FileSystemXmlApplicationContext("src/config/bean1.xml");在加载过程中创建实例时,会默认调用无参构造函数,当创建有参构造函数之后,在创建实例的时候会报错。

      <bean id="orders" class="com.action.spring.Orders"></bean>
      
      警告: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orders' defined in file [E:\workspace\Springwork\src\config\bean1.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.action.spring.Orders]: No default constructor found; nested exception is java.lang.NoSuchMethodException: com.action.spring.Orders.<init>()

      此时需要使用完整的有参函数注入属性的方法。

      <bean id="orders" class="com.action.spring.Orders"><constructor-arg name="oname" value="电脑"></constructor-arg><constructor-arg name="address" value="正弘城"></constructor-arg>
      </bean>
      

      此时即可调用方法。

      ApplicationContext context =new FileSystemXmlApplicationContext("src/config/bean1.xml");
      Orders orders = context.getBean("orders", Orders.class);
      orders.ordertest();
      

      运行结果:

Spring中Bean管理操作基于XML配置文件方法实现相关推荐

  1. Spring中bean的执行初始化和销毁方法的4种方式详解

    一.引入 在java的实际开发过程中,我们可能需要在spring实例化一个bean的过程中,使用到初始化一个对象(bean)后立即初始化(加载)一些数据,或者在销毁一个对象之前进行执行一些事情等等. ...

  2. spring的IOC容器Bean管理(基于xml方式)

    ==目的:==降低耦合度 ==技术:==xml解析.工厂模式.反射 ioc容器的实现 spring框架提供了两种实现方式(两个接口) BeanFactory接口 ioc容器的基本实现,是spring框 ...

  3. java学习day40(Spring)spring中的aop和基于XML以及注解的AOP配置

    第1章 AOP 的相关概念[理解] 1.1AOP 概述 1.1.1 什么是 AOP AOP :全称是 Aspect Oriented Programming 即:面向切面编程. 简单的说它就是把我们程 ...

  4. spring基础Bean管理基于xml注入

    1.基于xml注入属性 1.什么是Bean管理 Bean管理指的是两个操作 (1) Spring创建对象 (2) Spirng注入属性 2.Bean管理操作有两种方式 (1)基于xml配置文件方式实现 ...

  5. SSH框架整合——基于XML配置文件

    SSH框架整合--基于XML配置文件 @(Spring)[spring, struts2, hibernate, 框架整合, ssh, Spring] SSH框架整合基于XML配置文件 SSH框架整合 ...

  6. (转)Spring中的事务操作

    http://blog.csdn.net/yerenyuan_pku/article/details/70024364 事务的回顾 什么是事务 事务是逻辑上的一组操作,组成这组操作的各个逻辑单元,要么 ...

  7. (转)Spring的bean管理(注解方式)

    http://blog.csdn.net/yerenyuan_pku/article/details/69663779 Spring的bean管理(注解方式) 注解:代码中的特殊标记,注解可以使用在类 ...

  8. Spring 中 Bean 的生命周期

    本文作者: 伯乐在线 - yemengying 智商捉鸡?,实在没办法一下子理解Spring IoC和AOP的实现原理,看的闹心也不太懂,所以...决定拆成小的不能在小的一个个问题,一点点啃.今天先来 ...

  9. 厉害了,Spring中bean的12种定义方法!

    前言 在庞大的java体系中,spring有着举足轻重的地位,它给每位开发者带来了极大的便利和惊喜.我们都知道spring是创建和管理bean的工厂,它提供了多种定义bean的方式,能够满足我们日常工 ...

最新文章

  1. Junit的安装与使用
  2. 单链表中一个插入操作的分析
  3. photo.php,EasyPhoto.php
  4. python应该怎么自学-学习Python最正确的步骤
  5. 提高面试代码质量的三要素
  6. 2020(广东)功能性农业大健康大会中国农民丰收节交易会
  7. jdbc mysql api_JDBC Api详解
  8. 使用Adreno Profiler分析android游戏
  9. linux怎么编译sharedptr,如何使用智能指针(例如auto_ptr r shared_ptr)在Linux上使用C++生成链接列表数据结构?...
  10. Android 快捷方式
  11. win固定ip无效,自动配成169.254.xx.xx
  12. 设计模式,你知道什么是Observer模式吗?
  13. 联通手机卡欠费了无法转接人工服务?
  14. GitLab版本管理(转)
  15. 01 Python 安装 切片 查找替换 print 函数 return 局域代码块 注释 帮助 强制转换
  16. 多变量遗传算法python代码_遗传算法介绍并附上Python代码
  17. 什么的SIT测试?什么是UAT测试?
  18. Java开发微信支付实践
  19. 第一款无代码应用平台搭建的设备管理系统
  20. 30行Python代码实现蚂蚁森林自动偷能量

热门文章

  1. React Router学习
  2. 学JAVA第十三天,方法、方法重载及构造函数
  3. Codeforces Round #460 (Div. 2)
  4. 书摘 - 吴军.浪潮之巅
  5. jQuery学习-显示与隐藏
  6. ASP.NET页面间的传值的几种方法
  7. 【实习之T100开发】Genero FGL (TIPTOP4GL) 学习笔记(1)
  8. 【MyBatis笔记】12-多对一添加操作(添加新客户及对应的新订单)
  9. SELinux系列(十七)—awk命令使用详解
  10. PowerShell监控——监控电脑屏幕操作记录