基于Xml方法的Bean的配置-实例化Bean的方法-构造方法

SpringBean的配置详解

  • Bean的实例化配置
    • Spring的实例化方法主要由以下两种
      • 构造方法实例化:底层通过构造方法对bean进行实例化
        • 构造方法实例化bean又分为无参方法实例化和有参方法实例化,在Spring中配置的<bean>几乎都是无参构造该方式,在此处不赘述。下面讲解有参构造方法实例化Bean
          • 在配置文件中为有参构造方法中的参数指定值
          • <?xml version="1.0" encoding="UTF-8"?>
            <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="userService" class="com.example.Service.Impl.UserServiceImpl"><constructor-arg name="name" value="hahaha"></constructor-arg><property name="userDAO" ref="userDAO"></property></bean><bean id="userDAO" class="com.example.DAO.UserDAO"></bean>
            </beans>
          • package com.example.Service.Impl;import com.example.DAO.UserDAO;
            import com.example.Service.UserService;public class UserServiceImpl implements UserService {// todo 无参构造方法public UserServiceImpl() {System.out.println("无参构造方法");}// todo 有参构造方法public UserServiceImpl(String name) {System.out.println("有参构造方法");System.out.println(name);}private UserDAO userDAO;public void setUserDAO(UserDAO userDAO) {}}
            
          • 测试类运行结果

          • package com.example.Test;import org.springframework.context.ApplicationContext;
            import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestApplicationContext {public static void main(String[] args) {ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("application.xml");Object userService1 = context.getBean("userService");System.out.println(userService1);context.close();}
            }
            

      • 工厂方法实例化:底层通过自定义的工厂方法对Bean进行实例化
        • 静态工厂方法实例化Bean
          • 自定义一个工厂,工厂内部自定义静态方法,在状态方法内部产生一个bean,最后bean交给Spring容器管理
        • 实例工厂方法实例化Bean
        • 实现FactoryBean规范延迟实例化Bean

P18

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/111402.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AlexNet——训练花数据集

目录 一、网络结构 二、创新点分析 三、知识点 1. nn.ReLU(inplace) 2. os.getcwd与os.path.abspath 3. 使用torchvision下的datasets包 4. items()与dict()用法 5. json文件 6. tqdm 7. net.train()与net.val() 四、代码 AlexNet是由Alex Krizhevsky、Ilya S…

华为智慧搜索,下一片流量蓝海的“入海口”

几年前开始&#xff0c;TMT业界就发出了一类质疑的声音&#xff1a;移动互联网的各个APP彼此割裂&#xff0c;是在“孤岛炼油”。 大量的应用程序和服务互不打通&#xff0c;形成了严重的数据孤岛&#xff0c;用户只能进行站内搜索&#xff0c;很难穿透APP壁垒&#xff0c;进行…

RK3568平台开发系列讲解(调试篇)系统运行相关频率设置

🚀返回专栏总目录 文章目录 一、CPU 频率设置二、DDR 频率设置三、NPU 频率设置沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 CPU 默认是 interactive 状态,它会根据 CPU 使用率和目标负载来动态地调整 CPU 频率。为获得更高运行速度或者性能评估,我们需要手动固…

从输入一个网址到浏览器页面展示到底发生了什么

从输入一个网址到浏览器页面展示到底发生了什么 1. HTTP 解析URL 首先浏览器做的第一步工作就是解析URL&#xff0c;从而生产一个发送给服务器的请求信息。 URL是什么呢&#xff0c;见下图&#xff1a; 图中长长的URL实际上是请求服务器里的文件资源。 要是上图中的蓝色部分…

Python + Jmeter 实现自动化性能压测

Step01: Python脚本开发 文件路径&#xff1a;D://wl//testproject//Fone-grpc//project1//test_client.py Python 脚本作用&#xff1a; 通过 grpc 调用底层 c 的接口&#xff0c;做数据库的数据插入与查询操作&#xff0c;然后将返回的结果进行拼接与输出。 2.代码里面将…

Java 函数式编程思考 —— 授人以渔

引言 最近在使用函数式编程时&#xff0c;突然有了一点心得体会&#xff0c;简单说&#xff0c;用好了函数式编程&#xff0c;可以极大的实现方法调用的解耦&#xff0c;业务逻辑高度内聚&#xff0c;同时减少不必要的分支语句&#xff08;if-else&#xff09;。 一、函数式编…

XML 和 JSON 学习笔记(基础)

XML Why XML 的出现背景&#xff1a;在实际开发中&#xff0c;不同语言&#xff08;如Java、JavaScript等&#xff09;的应用程序之间数据传递的格式不同&#xff0c;导致它们进行数据交换时很困难&#xff0c;XML就应运而生了&#xff01;&#xff08;XML 是一种通用的数据交…

机器学习 day35(决策树)

决策树 上图的数据集是一个特征值X采用分类值&#xff0c;即只取几个离散值&#xff0c;同时也是一个二元分类任务&#xff0c;即标签Y只有两个值 上图为之前数据集对应的决策树&#xff0c;最顶层的节点称为根节点&#xff0c;椭圆形节点称为决策节点&#xff0c;矩形节点称…

【C++深入浅出】日期类的实现

目录 一. 前言 二. 日期类的框架 三. 日期类的实现 3.1 构造函数 3.2 析构函数 3.3 赋值运算符重载 3.4 关系运算符重载 3.5 日期 /- 天数 3.6 自增与自减运算符重载 3.7 日期 - 日期 四. 完整代码 一. 前言 通过前面两期类和对象的学习&#xff0c;我们已经对C的…

Docker 部署 Bitwarden RS 服务

Bitwarden RS 服务是官方 Bitwarden server API 的 Rust 重构版。因为 Bitwarden RS 必须要通过 https 才能访问, 所以在开始下面的步骤之前, 建议先参考 《Ubuntu Nginx 配置 SSL 证书》 配置好域名和 https 访问。 部署 Bitwarden RS 拉取最新版本的 docker.io/vaultwarden…

大数据-玩转数据-Flink恶意登录监控

一、恶意登录 对于网站而言&#xff0c;用户登录并不是频繁的业务操作。如果一个用户短时间内频繁登录失败&#xff0c;就有可能是出现了程序的恶意攻击&#xff0c;比如密码暴力破解。 因此我们考虑&#xff0c;应该对用户的登录失败动作进行统计&#xff0c;具体来说&#x…

长话短说 CopyOnWrite 思想及其应用场景

长话短说 CopyOnWrite 思想及其应用场景。 CopyOnWrite(写入时复制)思想 CopyOnWrite(简称COW,中文意思是:写入时复制)就是在进行写操作时,先复制要改变的对象,对副本进行写操作,完成对副本的操作后,把原有对象的引用指向副本对象。 CopyOnWrite采用了读写分离的思想…