上一章节《Spring4基础知识二-Spring之IoC:IoC相关概念》
如果文中有纰漏,请多多指正!!!
本章节主要通过一个简单的案例,来对Spring的开发做个简单的了解。
1.引入Jar包
一个最简单Spring项目的搭建需要引入4个基本包以及2个日志相关包。
2.接口、实体创建
public interface CountryService { void findAll();}public class CountryServiceImpl implements CountryService{ @Override public void findAll() { System.out.println("查询全部数据"); }}
3.Spring配置文件
关于Spring的配置文件可以随意,这里就命名为applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
- id属性是Bean实例的唯一标识,程序中会通过该标识访问该Bean,而Bean与Bean之间的关系,也是通过Id属性相关联的。
- class:指定要实例化的类的全限定性类名。
4.测试方法
@Testpublic void test1(){ ApplicationContext application = new ClassPathXmlApplicationContext("applicationContext.xml"); CountryService bean = (CountryService)application.getBean("countryService"); bean.findAll(); ((ClassPathXmlApplicationContext)application).close();}
到此一个非常简单的入门案例就搭建好了。可以看到在代码的构建中没有任何的new对象,而是将对象的创建交给了Spring容器去创建,对象的获取是通过getBean()方法获取的。
5.接口容器
声明:接口容器中的接口并非是代码中的Interface,这只是一个统称。
在测试类中我们是通过ApplicationContext application = new ClassPathXmlApplicationContext("applicationContext.xml");,当然也可以通过BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));来加载配置的,其中ApplicationContext充当着容器的角色。在Spring中常用的两个接口容器及常用加载资源的方法为
- ApplicationContext接口容器
ClassPathXmlApplicationContext:用于加载类路径下的配置FileSystemXmlApplicationContext:用于加载本地目录中的配置或者项目根路径下(与src目录同级别)的配置
- BeanFactory接口容器(为ApplicationContext的父类)
ClassPathResource:用于加载类路径下的配置FileSystemResource:用于加载本地目录中的配置或者项目根路径下(与src目录同级别)的配置
两个接口容器都能充当Spring容器的角色,那么它们有什么不同吗?有,那就是加载时机不同。
- ApplicationContext接口容器的加载时机:此容器会在容器初始化时,将其中的对象一次性的装配好。如果有使用该对象的直接从内存获取,执行效率高,但消耗内存。
- BeanFactory接口容器的加载时机:此容器中对象的装配和加载,采用的延迟加载方式,也就是在调用getBean()时,才会真正创建该对象。
6.练习源码及Spring压缩包及依赖库jar包资源下载
链接:https://pan.baidu.com/s/1oFi_GVOgcgBJmasQkl5FTQ 提取码:x6xf