1.1 Spring程序开发步骤
- 导入Spring开发的基本包坐标
- 编写Dao接口和实现类
- 创建Spring核心配置文件
- 在Spring配置文件中配置UserDaoImpl
- 使用Spring的API获得Bean实例
1.1.1 xml中导入坐标
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
</dependencies>
1.1.2 创建Bean
package com.itYin.dao;
public interface UserDao {
public void save();
}
1.1.3 创建applicationContest.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 id="userDao" class="com.itYin.dao.impl.UserDaoImpl"></bean>
</beans>
1.1.4 在配置文件中进行配置
1.1.5 创建ApplicationContext对象getBean
package com.itYin.demo;
//对应客户端代码
import com.itYin.dao.UserDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class UserDaoDemo {
public static void main(String[] args) {
ApplicationContext app=new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao userDao=(UserDao)app.getBean("userDao");
userDao.save();
}
}
1.2 Spring配置文件
1.2.1 Bean标签范围配置
例1:singleton:默认值,单例的
<bean id="userDao" class="com.itYin.dao.impl.UserDaoImpl" scope="singleton"></bean>
此时,测试代码:
public void test1(){
ApplicationContext app=new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao userDao1=(UserDao)app.getBean("userDao");
UserDao userDao2=(UserDao)app.getBean("userDao");
System.out.println(userDao1);
System.out.println(userDao2);
}
输出为:
com.itYin.dao.impl.UserDaoImpl@26a7b76d
com.itYin.dao.impl.UserDaoImpl@26a7b76d
说明userDao1和userDao2地址一致
例2:prototype:多例的
<bean id="userDao" class="com.itYin.dao.impl.UserDaoImpl" scope="prototype"></bean>
演示结果:
com.itYin.dao.impl.UserDaoImpl@2c039ac6
com.itYin.dao.impl.UserDaoImpl@587d1d39
说明userDao1和userDao2地址不一致,系统中存在多个UserDao