spring-ioc 学习笔记2
来源:互联网 发布:西安it 编辑:程序博客网 时间:2024/06/15 01:16
spring -loc创建对象的几种方式:
1.通过无参的构造方法创建对象:
案列代码:
User.java
package com.xunifeng.spring;public class User {public User(){System.out.println("*******user无参构造方法********");}private String name;public void setName(String name) {this.name = name;}public void show(){System.out.println("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 http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- bean就是java对象 由spring来创建和管理 --> <bean id="user" class="com.xunifeng.spring.User" > <property name="name" value="张三"></property> </bean> </beans>Test.java
<span style="font-size:12px;">import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.xunifeng.spring.User;public class Test {public static void main(String[] args) {ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");User user=(User)context.getBean("user");user.show();}}</span>2.通过有参构造方法创建对象:
案列代码:
User.java
package com.xunifeng.spring;public class User {private String name;public User(String name){super();this.name=name;}public void show(){System.out.println("name="+name);}}
Test.java 无修改。
beans.xml
第一种:根据参数的下表设置
<bean id="user" class="com.xunifeng.spring.User" > <!-- index指构造方法 参数下表从0开始 --> <constructor-arg index="0" value="张三" ></constructor-arg> </bean>
第二种:根据参数名来设置
<pre name="code" class="html"><bean id="user" class="com.xunifeng.spring.User" > <!-- name 指参数名--> <constructor-arg name="name" value="张三" ></constructor-arg> </bean>第三种:根据参数类型设置
<bean id="user" class="com.xunifeng.spring.User" > <!-- type 指参数类型--> <constructor-arg type="java.lang.String" value="张三" ></constructor-arg> </bean>
3.通过工厂方法创建对象:
案列代码:
第一种:静态工厂
userFactory.java
package com.xunifeng.factory;import com.xunifeng.spring.User;public class UserFactory {public static User newInstance(String name){return new User(name);}}
beans.xml
<bean id="user" class="com.xunifeng.factory.UserFactory" factory-method="newInstance"> <constructor-arg index="0" value="张三"></constructor-arg> </bean><strong><span style="font-size:14px;"> </span></strong>Test.java 和 User.java 无修改。
第二种:动态工厂
UserDynamicFactory.java
package com.xunifeng.factory;import com.xunifeng.spring.User;public class UserDynamicFactory {public User newInstance(String name){return new User(name);}}beans.xml
<bean id="userFactory" class="com.xunifeng.factory.UserDynamicFactory"/> <bean id="user" factory-bean="userFactory" factory-method="newInstance"> <constructor-arg index="0" value="张三"/> </bean>
0 0
- spring-ioc 学习笔记2
- Spring-IOC-学习笔记(2)
- Spring学习笔记2-IOC
- Spring IoC学习笔记
- Spring IoC学习笔记
- Spring IOC学习笔记
- Spring学习笔记--IoC
- Spring IOC 学习笔记
- Spring学习笔记-IOC
- spring 学习笔记(2)--IOC(DI)
- Spring学习笔记---2-IOC详解
- Spring学习笔记 (1)--- IoC
- Spring 之 IoC 学习笔记
- Spring-IOC配置(学习笔记)
- Spring framework IOC 学习笔记
- spring-ioc 学习笔记1
- Spring之IOC(学习笔记)
- Spring-IOC-学习笔记(1)
- 详解数据库中的事务、隔离级别、并发控制
- 4.函数
- Beetl前端渲染
- 【Java集合类型的并发】Collections.synchronizedList
- 数据链表实例(递归)
- spring-ioc 学习笔记2
- deep learning学习笔记(2):深度学习概述:从感知机到深度网络
- Angular JS入门
- SQL Server分页存储过程
- postgresql.conf参数-备查
- nyoj_97 兄弟郊游问题
- 修改crm的登录页面
- openoffice的启动,停止命令
- php 扩展模块安装