<!-- pom.xml中根据自己的版本配置 -->
<properties>
<spring.version>5.0.5.RELEASE</spring.version>
</properties>
<!--导入spring的context坐标,context依赖core、beans、expression-->
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
</dependencies>
public interface UserDao {
public void find();
}
public class UserDaoImpl implements UserDao {
@Override
public void find() {
System.out.println("UserDao find method running....");
}
}
2.4 创建Spring核心配置文件
<?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">
<!-- 配置UserDaoImpl -->
<bean id="userDao" class="www.baidu.dao.impl.UserDaoImpl"></bean>
</beans>
@Test
public void test1(){
//加载spring配置文件。获取spring核心容器
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//获取spring容器中的userDao对象
UserDao userDao = (UserDao) ac.getBean("userDao");
//调用方法
userDao.find();
}
3.1 Bean标签基本配置
<bean id="userDao" class="www.baidu.dao.impl.UserDaoImpl"></bean>
id:Bean实例在Spring容器中的唯一标识
class:Bean的全限定名称
3.2 Bean标签范围配置
<bean id="userDao" class="www.baidu.dao.impl.UserDaoImpl" scope="singleton" ></bean>
scope:指对象的作用范围,取值如下:
3.3 Bean生命周期配置
init-method:指定类中的初始化方法名称,当对象被创建时,调用该方法。
destroy-method:指定类中销毁方法名称,当对象被销毁时,调用该方法。
3.4 Bean实例化三种方式
1 使用无参构造方法实例化
默认调用无参构造方法创建对象,如果bean中没有默认无参构造函数,将会创建失败
<bean id="userDao" class="www.baidu.dao.impl.UserDaoImpl"/>
//工厂类
public class StaticFactoryBean {
//静态方法,通过该方法获取对象
public static UserDao createUserDao(){
return new UserDaoImpl();
}
}
<bean id="userDao" class="www.baidu.factory.StaticFactoryBean" factory-method="createUserDao" />
//工厂类
public class DynamicFactoryBean {
//非静态方法,需要先创建工厂类的对象,再通过对象调用该方法,获取对象
public UserDao createUserDao(){
return new UserDaoImpl();
}
}
<!-- 创建工厂类的对象 -->
<bean id="factoryBean" class="www.baidu.factory.DynamicFactoryBean"/>
<!-- 通过工厂类的对象,调用createUserDao方法,获取UserDao对象 -->
<bean id="userDao" factory-bean="factoryBean" factory-method="createUserDao"/>
zhaosongzhi 发表于 2020-1-6 11:03
相信自己,加油!
小公举 发表于 2020-1-6 11:08
感谢楼主的分享 万分感谢
小公举 发表于 2020-1-6 11:08
感谢楼主的分享 万分感谢
zhaosongzhi 发表于 2020-1-6 11:12
相信自己,加油!
你不爱我 发表于 2020-1-6 20:47
学计算机哪家强,就来西安黑马程序员
半个程序员 发表于 2020-1-6 20:57
学计算机哪家强,就来西安黑马程序员
zhaosongzhi 发表于 2020-1-6 11:28
666666666666666666666666666666
lzq123 发表于 2020-1-6 11:28
666666666666666666666666666666666666666666666
zhaosongzhi 发表于 2020-1-6 11:28
666666666666666666666666666666
九月丫 发表于 2020-1-6 11:34
优秀。。。。。。
半个程序员 发表于 2020-1-6 12:06
2020扬帆起航。。。
王微 发表于 2020-1-6 18:25
相信自己,加油!
lzq123 发表于 2020-1-6 11:28
666666666666666666666666666666666666666666666
王锦 发表于 2020-1-6 11:34
6666666666666666666666
半个程序员 发表于 2020-1-6 12:06
2020扬帆起航。。。
霍尔 发表于 2020-1-6 11:38
棒棒的!加油
lzq123 发表于 2020-1-6 11:28
666666666666666666666666666666666666666666666
举个栗子 发表于 2020-1-6 21:07
黑马程序员6666666666666666666
ruoquan 发表于 2020-1-6 21:17
优秀66666666666666666666666
fujiangbo 发表于 2020-1-8 20:57
666666666666666666666
jsnoob 发表于 2020-1-8 21:32
加油,加油,加油!!!!
举个栗子 发表于 2020-1-6 21:07
黑马程序员6666666666666666666
咨询部王丹 发表于 2020-1-7 09:42
加油,加油
hongping 发表于 2020-1-7 09:47
学计算机哪家强,就来西安黑马程序员
daoqin 发表于 2020-1-7 09:57
学计算机哪家强,就来西安黑马程序员
大安 发表于 2020-1-7 10:12
学计算机哪家强,就来西安黑马程序员
温柔一刀!喵! 发表于 2020-1-7 10:30
辛苦分享~~~~~
李娟玲老师 发表于 2020-1-7 10:50
棒棒哒!加油
李娟玲老师 发表于 2020-1-7 10:50
棒棒哒!加油
duanshaobo 发表于 2020-1-7 11:31
六六六六六六六六
ruoquan 发表于 2020-1-6 21:17
优秀66666666666666666666666
hongping 发表于 2020-1-7 09:47
学计算机哪家强,就来西安黑马程序员
咨询部王丹 发表于 2020-1-7 09:42
加油,加油
hongping 发表于 2020-1-7 09:47
学计算机哪家强,就来西安黑马程序员
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |