-
lazy-init的作用,可以控制bean的创建时间,如果设置为true就是第一次获取该对象时才去创建。
<bean class="com.alibaba.druid.pool.DruidDataSource" lazy-init="true" id="dataSource" name="dataSource2,dataSource3"> <property name="driverClassName" value="${jdbc.driver}"></property> <property name="url" value="${jdbc.url}"></property> <property name="username" value="${jdbc.username}"></property> <property name="password" value="${jdbc.password}"></property> </bean>
-
init-method可以用来设置初始化方法,设置完后容器创建对象就会自动帮我们调用对应的方法,配置的方法只能是空参。
<bean class="com.sangeng.domain.Student" id="student" init-method="init" destroy-method="close"></bean>
-
desdroy-method对象销毁之前,用于释放资源。
-
往bean中导入xml
<import resource="classpath:jdbc.xml"></import>
-
读取properties配置文件
xmlns:context="http://www.springframework.org/schema/context" <context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mybatis_db jdbc.username=root jdbc.password=root
-
实例工厂 factory-bean用来指定使用哪个工厂对象 ,factory-method用来指定使用哪个工厂方法
<!--创建实例工厂--> <bean class="com.sangeng.factory.CarFactory" id="carFactory"></bean> <!--使用实例工厂创建Car放入容器--> <!--factory-bean 用来指定使用哪个工厂对象--> <!--factory-method 用来指定使用哪个工厂方法--> <bean factory-bean="carFactory" factory-method="getCar" id="car"></bean>
Car.java
package com.sangeng.domain; public class Car { //方向盘 private SteeringWheel steeringWheel; //轮胎 private Tyre tyre; //发动机 private Motor motor; public Car(){ } public void testType(){ System.out.println("调试轮胎"); } public void testMontor(){ System.out.println("调试发动机"); } public void testSteeringWheel(){ System.out.println("调试方向盘"); } public SteeringWheel getSteeringWheel() { return steeringWheel; } public void setSteeringWheel(SteeringWheel steeringWheel) { this.steeringWheel = steeringWheel; } public Tyre getTyre() { return tyre; } public void setTyre(Tyre tyre) { this.tyre = tyre; } public Motor getMotor() { return motor; } public void setMotor(Motor motor) { this.motor = motor; } }
CarFactory.java
package com.sangeng.factory; import com.sangeng.domain.Car; import com.sangeng.domain.Motor; import com.sangeng.domain.SteeringWheel; import com.sangeng.domain.Tyre; public class CarFactory { public Car getCar(){ Car c = new Car(); c.setMotor(new Motor()); c.setSteeringWheel(new SteeringWheel()); c.setTyre(new Tyre()); c.testMontor(); c.testSteeringWheel(); c.testType(); return c; } }
-
使用静态工厂创建Car放入容器
<bean class="com.sangeng.factory.CarStaticFactory" factory-method="getCar" id="car2"></bean>
CarStaticFactory.java
package com.sangeng.factory; import com.sangeng.domain.Car; import com.sangeng.domain.Motor; import com.sangeng.domain.SteeringWheel; import com.sangeng.domain.Tyre; public class CarStaticFactory { public static Car getCar(){ Car c = new Car(); c.setMotor(new Motor()); c.setSteeringWheel(new SteeringWheel()); c.setTyre(new Tyre()); c.testMontor(); c.testSteeringWheel(); c.testType(); return c; } }
SpringIOC笔记bean的配置
最新推荐文章于 2024-07-18 19:50:38 发布