项目路径 

models

package com.qcby.demo1;import com.qcby.service.UserService;
import com.qcby.service.UserServiceImpl;public class Dfactory {public UserService createUs(){System.out.println("实例化工厂的方式...");return new UserServiceImpl();}
}
package com.qcby.demo1;
import com.qcby.service.UserService;
import com.qcby.service.UserServiceImpl;
/*** 静态工厂方法模式**/
public class StaticFactory {public static UserService createUs(){System.out.println("通过静态工厂的方式创建 UserServiceImpl 对象...");// 编写很多业务逻辑 权限校验return new UserServiceImpl();}}
package com.qcby.demo2;public class Car {// 名称private String cname;// 金额private Double money;public Car(String cname, Double money) {this.cname = cname;this.money = money;}public Car() {}@Overridepublic String toString() {return "Car{" +"cname='" + cname + '\'' +", money=" + money +'}';}
}
package com.qcby.demo3;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Properties;
public class CollectionBean {//数组private String[] strs;private List<String> list;private Map<String,String> map;private Properties properties;public String[] getStrs() {return strs;}public void setStrs(String[] strs) {this.strs = strs;}public List<String> getList() {return list;}public void setList(List<String> list) {this.list = list;}public Map<String, String> getMap() {return map;}public void setMap(Map<String, String> map) {this.map = map;}public Properties getProperties() {return properties;}public void setProperties(Properties properties) {this.properties = properties;}@Overridepublic String toString() {return "CollectionBean{" +"strs=" + Arrays.toString(strs) +", list=" + list +", map=" + map +", properties=" + properties +'}';}
}

serviecs

package com.qcby.service;public interface UserService {public void hello();
}
package com.qcby.service;public class UserServiceImpl implements UserService{@Overridepublic void hello() {System.out.println("Hello IOC!!");}
}

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"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!--IOC 管理 bean--><bean id="userService" class="com.qcby.service.UserServiceImpl"/><!--实例化 Bean 对象的三种方式--><!--默认是无参数的构造方法(默认方式,基本上使用)-->
<!--    <bean id="us" class="com.qcby.service.UserServiceImpl" />-->
<!--    &lt;!&ndash; 静态工厂方式&ndash;&gt;-->
<!--    <bean id="us" class="com.qcby.demo1.StaticFactory" factory-method="createUs" />-->
<!--    &lt;!&ndash; 动态工厂方式&ndash;&gt;-->
<!--    <bean id="dfactory" class="com.qcby.demo1.Dfactory" />-->
<!--    <bean id="us" factory-bean="dfactory" factory-method="createUs" />--><!--DI:依赖注入--><!--属性set方法注入值-->
<!--    <bean id="os" class="com.qcby.service.OrderServiceImpl">-->
<!--        <property name="orderDao" ref="od" />-->
<!--        <property name="msg" value="你好" />-->
<!--        <property name="age" value="30" />-->
<!--    </bean>-->
<!--    <bean id="od" class="com.qcby.dao.OrderDaoImpl"></bean>--><!-- 属性构造方法方式注入--><bean id="car" class="com.qcby.demo2.Car"><constructor-arg name="cname" value="大奔" /><constructor-arg name="money" value="400000" /></bean><!-- 数组,集合(List,Set,Map),Properties等的注入--><!--给集合属性注入值--><bean id="collectionBean" class="com.qcby.demo3.CollectionBean"><property name="strs"><!--数组注入--><array><value>张三</value><value>李四</value><value>王五</value></array></property><property name="list"><!--List注入--><list><value>熊大</value><value>熊二</value><value>光头强</value></list></property><property name="map"><!--Map注入--><map><entry key="1" value="张三" /><entry key="2" value="李四" /><entry key="3" value="王五" /></map></property><property name="properties"><!--Properties注入--><props><prop key="username">root</prop><prop key="password">123456</prop></props></property></bean><!-- 主配置文件中包含其他的配置文件:--><import resource="applicationContext2.xml"/><!--    工厂创建的时候直接加载多个配置文件:ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml","applicationContext2.xml");-->
</beans>

log4j.properties(自己添加到resource下)

# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE            debug   info   warn error fatal
log4j.rootCategory=debug, CONSOLE# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:\axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n

test

import com.qcby.service.UserService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class Demo1 {@Testpublic  void run1(){ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");UserService userService = (UserService) context.getBean("userService");userService.hello();}
}
import com.qcby.demo3.CollectionBean;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class Demo3 {@Testpublic void run3(){ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");CollectionBean collectionBean = (CollectionBean) context.getBean("collectionBean");collectionBean.getList().forEach(System.out::println);collectionBean.getMap().forEach((k,v)->System.out.println(k+"--"+v));collectionBean.getProperties().forEach((k,v)->System.out.println(k+"--"+v));System.out.println(collectionBean.getStrs());}}

运行结果

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

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

相关文章

ServBay for Windows 1.4.0 发布:新增MySQL、PostgreSQL等数据库自定义配置

各位 Windows 平台的开发者们&#xff0c; ServBay 始终致力于为您打造一个强大、高效且灵活的本地开发环境。距离上次更新仅过去短短一周&#xff0c;经过我们技术团队的快速开发&#xff0c;我们正式推出了 ServBay for Windows 1.4.0 版本。 专业开发者不仅需要一个能用的环…

python网络爬虫小项目(爬取评论)超级简单

python网络爬虫小项目&#xff08;爬取评论&#xff09;超级简单 学习python网络爬虫的完整路径&#xff1a; &#xff08;第一章&#xff09; python网络爬虫(第一章/共三章&#xff1a;网络爬虫库、robots.txt规则&#xff08;防止犯法&#xff09;、查看获取网页源代码)-…

本周大模型新动向:奖励引导、多模态代理、链式思考推理

点击蓝字关注我们AI TIME欢迎每一位AI爱好者的加入&#xff01;01Iterative Distillation for Reward-Guided Fine-Tuning of Diffusion Models in Biomolecular Design本文提出了一种用于生物分子设计中奖励引导生成的扩散模型微调框架。扩散模型在建模复杂、高维数据分布方面…

JAVA+AI教程-第三天

我将由简入繁&#xff0c;由零基础到详细跟大家一起学习java---------------------------------------------------------------------01、程序流程控制&#xff1a;今日课程介绍02、程序流程控制&#xff1a;if分支结构if分支有三种形式&#xff0c;执行顺序就是先执行if&…

自定义命令行解释器shell

目录 一、模块框架图 二、实现目标 三、实现原理 四、全局变量 五、环境变量函数 六、初始化环境变量表函数 七、输出命令行提示符模块 八、提取命令输入模块 九、填充命令行参数表模块 十、检测并处理内建命令模块 十一、执行命令模块 十二、源码 一、模块框架图…

uniapp使用uni-ui怎么修改默认的css样式比如多选框及样式覆盖小程序/安卓/ios兼容问题

修改 uni-ui 多选框 (uni-data-checkbox) 的默认样式 在 uniapp 中使用 uni-ui 的 uni-data-checkbox 组件时&#xff0c;可以通过以下几种方式修改其默认样式&#xff1a; 方法一&#xff1a;使用深度选择器格式一&#xff1a;在页面的 style 部分使用深度选择器 >>>…

《Linux 环境下 Nginx 多站点综合实践:域名解析、访问控制与 HTTPS 加密部署》​

综合练习:请给openlab搭建web网站&#xff0c;网站需求&#xff1a; 1.基于域名www.openlab.com可以访问网站内容为 welcome to openlab!!&#xff0c; 2.给该公司创建三个子界面分别显示学生信息&#xff0c;教学资料和缴费网站&#xff0c;基于www.openlab.com/student 网站访…

网络基础1-11综合实验(eNSP):vlan/DHCP/Web/HTTP/动态PAT/静态NAT

注&#xff1a;在华为模拟器&#xff08;eNSP&#xff09;上做的实验其中&#xff0c;在内网实验&#xff1a;Vlan/DHCP/VWeb/HTTP&#xff0c;在外网实验&#xff1a;动态PAT/静态NAT一、拓扑结构1. 核心设备与连接设备接口连接对象VLAN/IP角色LSW2/LSW3Ethernet 0/0/1-2PC1/P…

Mac上安装Claude Code的步骤

以下是基于现有信息的简明安装指南&#xff0c;适用于macOS系统。请按照以下步骤操作&#xff1a; 前提条件 操作系统&#xff1a;macOS 10.15或更高版本。Node.js和npm&#xff1a;Claude Code基于Node.js&#xff0c;需安装Node.js 18和npm。请检查是否已安装&#xff1a; …

MybatisPlus-15.扩展功能-逻辑删除

一.逻辑删除配置逻辑删除的字段时&#xff0c;logic-delete-field字段配置的是逻辑删除的实体字段名。字段类型可以是boolean和integer。在java中默认是boolean类型。逻辑已删除值默认为1&#xff0c;而逻辑未删除值默认为0。当是1时代表已删除(1在数据库表中为true&#xff0c…

IDEA 同时修改某个区域内所有相同变量名

在 IntelliJ IDEA 中&#xff0c;同时修改某个区域内所有 相同变量名 的快捷键是&#xff1a; ✅ Shift F6&#xff08;重命名变量&#xff09; 但这个快捷键默认是 全局重命名&#xff0c;如果你想 仅修改某个方法或代码块内的变量名&#xff0c;可以这样做&#xff1a;&…

Telink BLE 低功耗学习

低功耗管理&#xff08;Low Power Management&#xff09;也可以称为功耗管理&#xff08;Power Management&#xff09;&#xff0c;本⽂档中会简称为PM。Telink低功耗解惑我查阅多连接SDK开发手册时&#xff0c;低功耗管理章节看了两三遍也没太明白&#xff0c;有以下几个问题…

设备管理系统(MMS)如何在工厂MOM功能设计和系统落地

一、核心系统功能模块设备管理系统围绕设备全生命周期管理设计&#xff0c;涵盖基础数据管理、设备运维全流程管控及统计分析功能&#xff0c;具体如下&#xff1a;基础数据管理设备与备件台账&#xff1a;包含设备台账&#xff08;设备编号、识别码、型号、生产日期等&#xf…

低空经济展 | 牧羽天航空携飞行重卡AT1300亮相2025深圳eVTOL展

为深入推动低空经济产业高质量发展&#xff0c;构建全球eVTOL&#xff08;电动垂直起降飞行器&#xff09;产业交流合作高端平台&#xff0c;2025深圳eVTOL展定于2025年9月23日至25日在深圳坪山燕子湖国际会展中心隆重举办。本届展会以“低空经济・eVTOL・航空应急救援・商载大…

CS231n-2017 Lecture4神经网络笔记

神经网络&#xff1a;我们之前的线性分类器可以接受输入&#xff0c;进而给出评分&#xff0c;这是一种线性变换&#xff0c;再此基础上&#xff0c;我们对这种线性变换结果进行非线性变换&#xff0c;并输入到下一层线性分类器中&#xff0c;这个过程就像是人类大脑神经的运作…

暑期算法训练.5

目录 20. 力扣 34.在排序数组中查找元素的第一个位置和最后一个位置 20.1 题目解析&#xff1a; 20.2 算法思路&#xff1a; 20.3 代码演示&#xff1a; ​编辑 20.4 总结反思&#xff1a; 21.力扣 69.x的平方根 21.1 题目解析&#xff1a; 21.2 算法思路&#xff1a;…

【HDLBits习题详解 2】Circuit - Sequential Logic(5)Finite State Machines 更新中...

1. Fsm1&#xff08;Simple FSM 1 - asynchronous reset&#xff09;状态机可分为两类&#xff1a;&#xff08;1&#xff09;Mealy状态机&#xff1a;输出由当前状态和输入共同决定。输入变化可能立即改变输出。&#xff08;2&#xff09;Moore状态机&#xff1a;输出仅由当前…

多级缓存(亿级流量缓存)

传统缓存方案问题 多级缓存方案 流程 1.客户端浏览器缓存页面静态资源; 2. 客户端请求到Nginx反向代理;[一级缓存_浏览器缓存] 3.Nginx反向代理将请求分发到Nginx集群(OpenResty); 4.先重Nginx集群OpenResty中获取Nginx本地缓存数据;[二级缓存_Nginx本地缓存] 5.若Nginx本地缓存…

浅谈Rust语言特性

如大家所了解的&#xff0c;Rust是一种由Mozilla开发的系统编程语言&#xff0c;专注于内存安全、并发性和高性能&#xff0c;旨在替代C/C等传统系统编程语言。Rust 有着非常优秀的特性&#xff0c;例如&#xff1a;可重用模块 内存安全和保证&#xff08;安全的操作与不安全的…

React探索高性能Tree树组件实现——react-window、react-vtree

&#x1f680; 简介 在现代 Web 应用中&#xff0c;处理大量层级数据的树形结构是一个常见挑战。传统的树组件在面对成千上万个节点时往往会出现性能瓶颈&#xff0c;导致页面卡顿、内存占用过高等问题。本文将深入探讨如何使用 react-window 和 react-vtree 构建高性能的虚拟…