SpringMVC学习记录文章目录:
1、程序的耦合和解耦思路
2、使用springIOC解决程序耦合的前期准备
3、BeanFactory和ApplicationContext的区别及ApplicationContext接口的实现类
4、bean标签及其实例化的3种方式
5、bean的作用范围和生命周期
6、Spring的依赖注入
7、基于注解的IOC环境搭建
8、基于注解的IOC-常用注解(Spring2.5规范)
9、Spring常用注解-新(Spring2.5规范以上)
10、Spring整合Junit单元测试
11、AOP的相关概念
12、Spring中AOP的术语
13、SpringAOP常用标签解释说明
14、SpringAOP中切入点表达式说明
15、SpringAOP类型说明及环绕通知的特殊说明
16、基于xml的SpringAOP配置
17、SpringAOP常用注解
18、基于注解的SpringAOP配置
19、Spring中的JdbcTemplate
20、Spring中的事务控制
1. 前期准备
我们使用的案例是,客户的业务层和持久层的依赖关系解决。在开始spring的配置之前,我们要先准备一下环境。由于我们是使用spring解决依赖关系,并不是真正的要做增伤改查操作,所以此时我们没必要写实体类。并且我们在此处使用的是java工程,不是java web工程。
1.1 准备spring的开发包
官网:http://spring.io/
下载地址:http://repo.springsource.org/libs-release-local/org/springframework/spring
使用的版本是spring4.2.4
解压后Spring目录结构如下
1.2 创建业务层接口和实现类
/**
* 模拟业务层接口
* @author CJIYUN
*
*/
public interface ICustomerService {
//保存 客户
void saveCustomer();
}
/**
* 客户的业务层实现类
*/
public class CustomerServiceImpl implements ICustomerService {
private ICustomerDao customerDao = new CustomerDaoImpl(); //此处有依赖关系
@Override
public void saveCustomer() {
customerDao.saveCustomer();
}
}
1.3 创建持久层接口和实现类
/**
* 客户的持久层接口
*/
public interface ICustomerDao {
/**
* 保存客户
*/
void saveCustomer();
}
/**
* 客户的持久层实现类
*/
public class CustomerDaoImpl implements ICustomerDao {
@Override
public void saveCustomer() {
System.out.println("保存了客户");
}
}
2.基于XML的配置
2.1 第一步:拷贝必备的jar包到工程的lib目录中
2.2 第二步:在类的根路径下创建一个任意名称的xml文件(不能是中文)
给xml配置文件导入约束:
约束位置:…\spring-framework-4.2.4.RELEASE\docs\spring-framework-reference\html\xsd-configuration.html
(注意:要导入schema约束)
<?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">
</beans>
2.3 第三步:把资源交给spring来管理,在配置文件中配置service和dao
<bean id="customerDao" class="com.dao.impl.CustomerDaoImpl"/>
<bean id="customerService" class="com.service.impl.CustomerServiceImpl"/>
2.4 测试配置是否成功
public class Client {
public static void main(String[] args) {
//1、获取容器(ApplicationContext 后面有解释)
ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
//2、根据bean的id获取对象
ICustomerService cs = (ICustomerService) ac.getBean("customerService");
ICustomerDao cDao = (ICustomerDao) ac.getBean("customerDao");
System.out.println(cs);
System.out.println(cDao);
}
}
成功则在控制台打印出对象