1.spring是什么?
了解spring之前我们必须了解struts2和hibernate。
struts2是web框架(jsp/action/actionform),其实是封装了servlet,简化了jsp跳转的复杂操作,并且提供了易于编写的标签,可以快速开发view层的代码。
没有struts2之前,网页展示过程是:
1>jsp触发action;
2>servlet接受action,交给后台class处理;
3>后台class跳转到其他jsp,实现数据展现。
有了struts2,实现过程变为:
1>jsp触发action;
2>struts2拦截请求,调用后台action;
3>action返回结果,由不同的jsp展现数据。
hibernate是orm框架。所谓ORM即对象关系映射,它的作用是在关系型数据库和业务实体对象之间做一个映射,这样我们在具体的操作业务对象时候,就不需要再去和复杂的sql语句打交道,只需要简单的操作对象属性和方法。而hibernate是一个基于元数据的轻量级ORM框架。Hibernate封装了对数据库的操作,让我们由面向数据库编程,变为面向对象编程,这样就可以让我们把更多的精力放在项目的业务逻辑上,而不是关注数据库操作。
spring是容器框架,是用于配置bean,并维护bean之间关系的框架。bean可以是java中任何一种对象的表示(javabean/service/action/数据源/dao/ioc(控制反转)/di(依赖注入))。接下来我们以一个小项目为例,进行spring的入门。
1>引入spring开发包(基本配置:spring.jar、common-logging.jar);
2>创建spring的核心文件applicationContext.xml,该文件一般在src目录下,该文件中引入xsd格式文件,可以从帮助文档中搜索
<?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">
<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<bean id="..." class="...">
<!-- collaborators and configuration for this bean go here -->
</bean>
<!-- more bean definitions go here -->
</beans>
3>配置bean
<!--在容器文件中配置bean -->
<!-- bean元素作用是,当spring框架加载时,spring会自动创建一个bean对象,并放入内存
类似于 UserServices us = new UserServices();
us.setName("IamWiam")-->
<bean id="us" class="com.services.UserServices">
<property name ="name">
<value>IamWiam</value>
</property>
</bean>
代码结构:
案例代码如下:
UserServices.java
package com.services;
public class UserServices {
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void SayHello() {
System.out.println("Hello "+name);
}
}
测试代码:
package test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.services.UserServices;
public class test {
public static void main(String[] args) {
/**传统方法
* UserServices us = new UserServices();
us.setName("IamWiam");
us.SayHello();
*/
ApplicationContext context =
new ClassPathXmlApplicationContext("applicationContext.xml");
UserServices us = (UserServices) context.getBean("us");
us.SayHello();
}
}
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">
<!--在容器文件中配置bean -->
<!-- bean元素作用是,当spring框架加载时,spring会自动创建一个bean对象,并放入内存
类似于 UserServices us = new UserServices();
us.setName("IamWiam")-->
<bean id="us" class="com.services.UserServices">
<property name ="name">
<value>IamWiam</value>
</property>
</bean>
</beans>
运行结果:
注:参考自网络、韩顺平spring视频、马士兵java设计模式。