Spring
spring
spring开发步骤
- 导入spring开发基本包坐标
- 编写Dao接口实现类 Bean
- 创建Spring核心配置文件 applicationContext.xml
- 在Spring配置文件中配置UserDaoImpl
- 使用Spring的API获得Bean实例
Bean标签基本配置
基本属性
- **id:**Bean实例在Spring容器中的唯一标识
- **class:**Bean的全限定名称 (全限定名=包名+类型)
Bean的标签范围配置

singleton
- 实例化1个
- 在Spring核心文件被加载时,实例化配置的Bean实例
- 对象创建在应用加载创建容器时,对象就被创建,只要容器在,对象就一直在,当应用卸载销毁容器时,对象被销毁
protorype
- 实例化多个
- 当调用getBean()方法实例化Bean时
- 使用对象时,创建新的对象实例,只要对象在使用时,就一直在,当对象长时间不用时,被Java的垃圾回收器回收了
Bean生命周期配置
- **init-method:**指定类中的初始化方法名称
- **destroy-method:**指定类中销毁方法名称
1 | init-method="init" destroy-method="destory" |
通过close来关闭
1 | public void test1(){ |
Bean实例化三种方式
无参构造方法实例化:
工厂静态方法实例化:通过工厂
1
2
3
4
5
6
7
8
9
10
11
12
13package com.yuuu.factory;
import com.yuuu.dao.UserDao;
import com.yuuu.dao.impl.UserDaoImpl;
/**
* @author Yuuu
*/
public class StaticFactory {
public static UserDao getUserDao(){
return new UserDaoImpl();
}
}1
<bean id="userDao" class="com.yuuu.factory.StaticFactory" factory-method="getUserDao"></bean>
工厂实例方法实例化:
1
2
3
4
5
6
7
8
9
10package com.yuuu.factory;
import com.yuuu.dao.UserDao;
import com.yuuu.dao.impl.UserDaoImpl;
public class DynamicFactory {
public UserDao getUserDao(){
return new UserDaoImpl();
}
}
1 | <!--工厂实例方法实例化 <bean id="factory" class="com.yuuu.factory.DynamicFactory" ></bean>--> |
Bean依赖注入
将UserDao注入UserService内部
构造方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16import com.yuuu.dao.UserDao;
import com.yuuu.service.UserService;
public class UserServiceImpl implements UserService {
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void save() {
userDao.save();
}
}set方法
xml文件中
1 | xmlns:p="http://ww.springframework.org/schema/p" |
Spring相关API
ClassPathXmlApplicationContext
- 从类的根路径下加载配置文件推荐使用此
FileSystemXmlAppliactionContext
从磁盘路径上加载配置文件,配置文件可以在磁盘的任意位置
XML所在的绝对路径
1
// ApplicationContext app = new FileSystemXmlApplicationContext("D:\\Workspace\\JAVA\\Spring\\src\\main\\resources\\applicationContext.xml");
AnnotationConfigApplicationContext
- 使用注解的
getBean()的使用
某一个类型的Bean只存在一个使用此方法,否则使用id的方式
1
UserService userService = app.getBean("userservice.class");
数据源
- 数据源是为了提高程序性能出现的
- 先实例化对象,初始化部分连接资源
- 归还资源
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yuuu!
