Spring的开发步骤
导入坐标(依赖)
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.23</version>
</dependency>
![](https://i-blog.csdnimg.cn/blog_migrate/bf84c0d9ee2701d5255c9380ed250971.png)
创建bean
packagecom.jian.dao;
publicinterfaceUserDao {
publicvoidsave();
}
packagecom.jian.dao.impl;
importcom.jian.dao.UserDao;
publicclassUserDaoImplimplementsUserDao {
publicvoidsave() {
System.out.println("sava running...");
}
}
创建applicationContext.xml
packagecom.jian.demo;
importcom.jian.dao.UserDao;
importorg.springframework.context.ApplicationContext;
importorg.springframework.context.support.ClassPathXmlApplicationContext;
publicclassUserDaoDemo {
publicstaticvoidmain(String[] args) {
ApplicationContextapp=newClassPathXmlApplicationContext("applicationContext.xml");
}
}
在配置文件中进行配置
<?xmlversion="1.0"encoding="UTF-8"?>
<beansxmlns="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">
<beanid="userDao"class="com.jian.dao.impl.UserDaoImpl"></bean>
//id:唯一性标识
</beans>
创建ApplicationContext对象getBean
packagecom.jian.demo;
importcom.jian.dao.UserDao;
importorg.springframework.context.ApplicationContext;
importorg.springframework.context.support.ClassPathXmlApplicationContext;
publicclassUserDaoDemo {
publicstaticvoidmain(String[] args) {
ApplicationContextapp=newClassPathXmlApplicationContext("applicationContext.xml");
UserDaouserDao=(UserDao) app.getBean("userDao");
userDao.save();}
}
Spring配置文件
Bean标签基本配置
用于配置对象交由 Spring中创建
默认情况下它调用的是类中的 无参构造函数,如果没有无参构造函数则不能创建成功。
基本属性:
1.id:Bean实例在spring容器中的唯一标识
2.class:Bean的全限定名称
2.Bean标签范围配置
scope:指对象的作用范围:
singleton:默认值,单例的
prototype:多例的
request: WEB 项目中,Spring创建一个 Bean 的对象,将对象存入到request 域中
session: WEB 项目中,Spring创建一个 Bean 的对象,将对象存入到session 域中
global session: WEB 项目中,应用在 Portlet 环境,如果没有 Portlet 环境那么globalSession相当于 session
Bean生命周期配置
init-method: 指定类中的初始化方法名称
destory-method: 指定类中销毁方法名称
Bean实例化三种方法
无参 构造方法实例化
工厂 静态方法实例化
工厂 实例方法实例化
Bean的依赖注入分析
目前UserService实例和UserDao实例都存在与Spring容器中,当前的做法是在容器外部获得UserService实例和UserDao实例,然后在程序中进行结合。