视频链接 https://www.bilibili.com/video/BV1WZ4y1H7du?p=10
Spring 是目标为IOC AOP的Java 开源框架
程序开发步骤:
MVC 关系层
configure 文件 关于Bean的使用
<?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 id="userDao" class="com.Qing.dao.impl.UserDaoImpl" scope="singleton"></bean>
</beans>
Bean 的scope 分为Singleton 和Prototype
区别为:
Bean 生命周期
Bean的实例化
静态工厂
public class StaticFactory {
public static UserDao getUserDao(){
return new UserDaoImpl();
}
}
<bean id="userDao" class="com.Qing.factory.StaticFactory" factory-method="getUserDao"></bean>
动态工厂
public class DynamicFactory {
public UserDao getUserDao() {
return new UserDaoImpl();
}
}
<bean id="factory" class="com.Qing.factory.DynamicFactory"></bean>
<bean id="userDao" factory-bean="factory" factory-method="getUserDao"></bean>
无参构造最重要!!
public void test1(){
ClassPathXmlApplicationContext app = new ClassPathXmlApplicationContext("ApplicationContext.xml");
UserDao userDao1 = (UserDao)app.getBean("userDao");
System.out.println(userDao1);
app.close();
}
<bean id="userDao" class="com.Qing.dao.impl.UserDaoImpl" scope="singleton" init-method="init" destroy-method="destroy"></bean>
依赖注入
依赖注入就是指当一个对象类内需要另一个对象类的实例,通过Bean 的property 来使最上层类获得那个实例