使用springIOC解决程序耦合的前期准备

mac2024-02-18  33

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); } }

成功则在控制台打印出对象

最新回复(0)