三架马车:SSH
struts :是web框架,它接管了jsp、action等。
hibernate:orm框架,处于持久层。
spring:属于容器框架,用于配置bean并维护bean与bean关系的框架。
bean:任何一种类的实例,如:service、action、dao、数据源等等。
2. 下载spring包
Spring的包:
http://maven.springframework.org/release/org/springframework/spring/
其他包:如日志包,jdbc包等
如:下载日志包:
http://commons.apache.org/proper/commons-logging/
3. IOC控制反转
Inverse of control
所谓的控制反转,就是把创建对象和维护对象的关系的权利从程序中转移到spring的容器。
4. 获取应用上下文方法
有三种方法获取应用上下文:
ClassPathXmlApplicationContext:从类路径中加载;使用类的相对路径,如果是在src的com.glodon.util包下,则:
ApplicationContext ac = new ClassPathXmlApplicationContext("com/glodon/util/applicationContext.xml");
UserService us = (UserService) ac.getBean("userService");
us.sayHello();
FileSystemXmlApplicationContext:从文件路径中加载:使用配置文件的绝对路径:
ApplicationContext ac = new FileSystemXmlApplicationContext("d:/utils/applicationContext.xml");
UserService us = (UserService) ac.getBean("userService");
us.sayHello();
XmlWebApplicationContext:从web系统中加载。
Tomcat启动时会自动加载.
5. 使用BeanFactory
注:上面的方法中,执行ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
时,如果bean配置的是singlton选项,spring就会把配置文件中的bean创建相应的对象放到内存。即提前new对象放到内存中。
如果使用BeanFactory,在new的时候不会创建bean对象,只有在获取直正的bean对象的时候才会去创建。
BeanFactory factory = new XmlBeanFactory("applicationContext.xml");
UserService us = (UserService) factory .getBean("userService");
us.sayHello();