Spring学习1 - Spring的优缺点、Spring通过BeanFactory管理、创建、获取对象

28 阅读1分钟

文章目录

1. 传统MVC分离遇到的问题 - 不使用框架

2. Spring的特点

3. Spring管理对象、获取对象

  • 步骤

    1. 导入相应的Spring包以及依赖包
    2. 配置XML文件- 通过该配置文件来管理Bean类
    3. 创建BeanFactory对象、通过这个工厂对象来获取配置在第二步骤的XML类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rluS1Nfe-1576776629963)(en-resource://database/13395:1)]

  配置文件XML
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8Cvm4bDT-1576776629979)(en-resource://database/13397:1)]


测试管理类

public class UserDaoService {	
	public void service1() {
		System.out.println("成功的运行到service1方法");
	}	
}

通过Spring容器获取对象

public static void main(String[] args) {


    // 1. 获取配置文件的XML源
    Resource resource = new ClassPathResource("applicationContext.xml");

    // 2. 解析配置文件、并且将对象自动生成放在一个容器上,用时从这个工厂上取就行了
    BeanFactory factory = new XmlBeanFactory(resource);
    System.out.println(factory);

    // 3. 使用配置文件的 name、id名 获取对象 - Object对象 - 故需强转
    UserDaoService bean1 = (UserDaoService) factory.getBean("userDaoService");
    bean1.service1();

    // 3. 使用配置文件的name、id并且传入生成的Class对象 -- 获取指定的对象 -- 不需强转
    UserDaoService bean2 = factory.getBean("userDaoService", UserDaoService.class);
    bean2.service1();

    // 3. 使用Class对象查看配置文件 class是否有,有则返回指定对象,无则抛出异常
    UserDaoService bean3 = factory.getBean(UserDaoService.class);
    bean3.service1();

}