當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringIOC容器-创建对象
生活随笔
收集整理的這篇文章主要介紹了
SpringIOC容器-创建对象
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
SpringIOC容器,是spring核心內(nèi)容。功能:創(chuàng)建對象,處理對象的依賴關(guān)系
IOC容器創(chuàng)建對象:
創(chuàng)建對象, 有幾種方式:
1) 調(diào)用無參數(shù)構(gòu)造器
2) 帶參數(shù)構(gòu)造器
3) 工廠創(chuàng)建對象
工廠類,靜態(tài)方法創(chuàng)建對象
工廠類,非靜態(tài)方法創(chuàng)建對象
spring配置文件在創(chuàng)建對象的配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!-- ###############對象創(chuàng)建############### --><!-- 1. 默認(rèn)無參數(shù)構(gòu)造器 <bean id="user1" class="cn.itcast.b_create_obj.User"></bean>--><!-- 2. 帶參數(shù)構(gòu)造器 --><bean id="user2" class="cn.itcast.b_create_obj.User"><constructor-arg index="0" type="int" value="100"></constructor-arg><constructor-arg index="1" type="java.lang.String" value="Jack"></constructor-arg></bean><!-- 定義一個(gè)字符串,值是"Jack" ; String s = new String("jack")--><bean id="str" class="java.lang.String"><constructor-arg value="Jacks"></constructor-arg></bean><bean id="user3" class="cn.itcast.b_create_obj.User"><constructor-arg index="0" type="int" value="100"></constructor-arg><constructor-arg index="1" type="java.lang.String" ref="str"></constructor-arg></bean><!-- 工廠類創(chuàng)建對象 --><!-- # 工廠類,實(shí)例方法 --><!-- 先創(chuàng)建工廠 --><bean id="factory" class="cn.itcast.b_create_obj.ObjectFactory"></bean><!-- 在創(chuàng)建user對象,用factory方的實(shí)例方法 --><bean id="user4" factory-bean="factory" factory-method="getInstance"></bean><!-- # 工廠類: 靜態(tài)方法 --><!-- class 指定的就是工廠類型factory-method 一定是工廠里面的“靜態(tài)方法”--><bean id="user" class="cn.itcast.b_create_obj.ObjectFactory" factory-method="getStaticInstance"></bean></beans>
實(shí)體類User.java
public class User {private int id;private String name;public User() {super();System.out.println("------User對象創(chuàng)建【無參數(shù)構(gòu)造器】------");}public User(int id, String name) {System.out.println("-----User對象創(chuàng)建【帶參數(shù)構(gòu)造器】--------");this.id = id;this.name = name;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "User [id=" + id + ", name=" + name + "]";}public void init_user() {System.out.println("創(chuàng)建對象之后,初始化");}public void destroy_user() {System.out.println("IOC容器銷毀,user對象回收!");}}
測試代碼
// 創(chuàng)建IOC容器對象ApplicationContext ac = new ClassPathXmlApplicationContext("cn/itcast/b_create_obj/bean.xml");// 獲取容器中的對象User user = (User) ac.getBean("user");System.out.println(user);
演示工廠創(chuàng)建對象的類
// 工廠,創(chuàng)建對象 public class ObjectFactory {// 實(shí)例方法創(chuàng)建對象public User getInstance() {return new User(100,"工廠:調(diào)用實(shí)例方法");}// 靜態(tài)方法創(chuàng)建對象public static User getStaticInstance() {return new User(101,"工廠:調(diào)用靜態(tài)方法");} }
總結(jié)
以上是生活随笔為你收集整理的SpringIOC容器-创建对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux的 .bashrc 和.bas
- 下一篇: gradle idea java ssm