关于spring这个框架有很多介绍:首先拓展下常识,spring是一个社区版框架,与之对应的一个官方框架是EJB ,EJB由于是官方框架,严格遵循了编程中的各种规则,这就使得ejb在于其它组件进行整合时具有很好的可兼容性,但是EJB本身的容器轻量化程度做的不够,而spring自己容器的轻量化,与对大多数组件进行整合均没有什么问题,这就使得spring逐步流行起来。
spring的核心其实就是大家口中经常说的IOC (控制反转),依赖注入(DI)可以把这两个当做是一回事,AOP(切面编程)。
我的个人理解是:在传统的我们编写代码时,无论是调用底层的对象,或者方法,都需要我们收到的将这个对象所对应的引用和实例写入到该类中。而spring这是要把我们需要的这些对象管理起来,通过配置文件将这些对象实例注入到对象中。说的再简单一点:你只有在你的类声明一个所需要的类型,并设置给类型的set方法,告诉spring你需要这个实例,在spring的配置文件中指明,或者使用spring注解的方式注入。
既然用到spring,那么我们肯定就会用到spring的一些方法,比如配置文件是如何读取的? 对象具体又是如何注入进来的?都是我们接下来要探究内容。
配置文件:spring配置文件其实你自己可以随便命名,但一般情况下我们都统一命名为applicationContext.xml 或者
applicationContext* .xml spring中的配置文件不是必须只有一个,我们可以声明多个,然后使用import标签导入进来即可。
<import resource="applicationContext.xml"/>
如何读取这个配置文件?
其实读取的方法有很多种,这里我只介绍最常用的:
1.利用ClassPathXmlApplicationContext
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); UserDao userDao = (UserDao)context.getBean("userDao")
注意配置文件的路径问题即可。
配置文件又是如何将我们的实体类对应起来的?
id一般命名方式是类名首字母小写,class属性用于加载我们的实体类的全路径名,需要注意的是在装配时是根据id来指定的,要确保命名的唯一性。