Spring的IOC创建对象方式
Spring中文文档:https://docs.spring.io/spring-framework/docs/5.2.0.RELEASE/spring-framework-reference/core.html#beans-factory-metadata
可分为有参创建和无参创建
Spring的IOC创建对象时只要写在XML文件中的都会进行创建如下代码
User.java
package pojo; public class User { private String name; public User() { System.out.println("User的无参构造"); } public User(String name) { System.out.println("User的有参构造"+name); this.name=name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public void show() { System.out.println("name="+name); } @Override public String toString() { return "User{" + "name='" + name + '\'' + '}'; } }
beans.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 https://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- services --> <!-- 无参构造创建对象 --> <bean id="user" class="pojo.User"> <property name="name" value="苗可卓"/> </bean> <!-- 有参方式创建对象 --> <!-- 下标方式创建有参构造 --> <bean id="user1" class="pojo.User"> <constructor-arg index="0" value="苗可卓1"/> </bean> <!-- 参数类型创建 --> <bean id="user2" class="pojo.User"> <constructor-arg type="java.lang.String" value="苗可卓2"/> </bean> </beans>
mytest.java
import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import pojo.User; public class mytest { public static void main(String[] args) { ApplicationContext context =new ClassPathXmlApplicationContext("beans.xml"); User user=(User) context.getBean("user1"); user.show(); } }
输出结果
分析:只要是在xml中的bean对象都会被创建好,调用时即可使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!