Spring初识,依赖注入,三层架构使用

本文介绍了Spring框架的基础知识,包括为何需要Spring的原因,如降低代码耦合度、简化对象依赖管理和事务控制。详细阐述了Spring项目的搭建过程,如创建Web动态项目、导入jar包、配置文件等。讲解了Spring的依赖注入,包括XML注入和注解注入,并进行了测试。此外,还探讨了Spring在三层架构(DAO、Service、Controller)中的应用。
摘要由CSDN通过智能技术生成

一. Spring基础认识

1.1 为什么需要Spring

1.1.1 代码耦合度较高

  • 应用程序是由一组相互协作的对象组成,一个完整的应用是由一组相互协作的对象组成。所以开发一个应用除了要开发业务逻辑之外,最多的是关注如何使这些对象协作来完成所需功能,而且要低耦合、高内聚。业务逻辑开发是不可避免的,那就需要有个框架出来帮我们来创建对象及管理这些对象之间的依赖关系;

  • public class EmployeeServiceImpl {
         
    //如果接口和实现类在同一地方存在,那么就是高耦合,维护难度增加了。
    private IEmployeeDao employeeDao = new EmployeeJdbcDaoImpl();
    }
    
  • EmployeeService对象除了完成业务逻辑功能的实现,还需要把数据通过EmployeeDao进行持久化,那么EmployeeService对象就依赖于EmployeeDao,如果EmployeeService离开了EmployeeDao就无法进行工作了;

1.1.2 对象之间依赖关系处理繁琐

  • 如果对象有很多,且互相存在依赖关系,并且有的对象需要单例模式,有的则需要多个实例,处理起来比较繁琐;

1.1.3 事务控制繁琐

  • 实际开发中,某一个业务逻辑可能会牵涉多个操作(多个sql),事务开启在 service 层,是极好的。但是每个方法前都要开启事务,每个方法后都要关闭事务,这样就会导致代码臃肿,开发效率低下的问题;

二. Spring基础项目搭建

2.1 新建Web动态项目

  • 右键----》new ----》Dynamic Web Project —》配置class文件生成的目录为WebContext/WEB-INF/classes,最后一步勾选上生成web.xml文件

2.2 导入jar包

  • spring-beans-4.1.2.RELEASE.jar
  • spring-context-4.1.2.RELEASE.jar
  • spring-core-4.1.2.RELEASE.jar
  • spring-expression-4.1.2.RELEASE.jar
  • commons-logging-1.1.1.jar(日志)

2.3 创建资源文件夹和配置文件

  • 创建resources资源文件夹

    • 创建applicationContext.xml配置文件

    • 配置代码如下

    • <?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标签,用于Spring管理一个bean类
      	id属性为bean标签的名字
      	class属性为类的全限定名 
      -->
      	<bean id="helloBean" class="com.xxxx._01bean.HelloBean"></bean>
      </beans>
      

2.4 新建一个测试类

  • 新建一个HelloBean类

  • public class HelloBean {
         
    	public HelloBean() {
         
    		System.out.println("HelloBean对象诞生了");
    	}
    }
    
  • 新建BeanTest测试类

  • import org.junit.Test;
    import org.springframework.beans.factory.BeanFactory;
    import org.springframework.beans.factory.xml.XmlBeanFactory;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import org.springframework.core.io.ClassPathResource;
    import org.springframework.core.io.Resource;
    
    public class BeanTest {
         
    	/**
    	 * BeanFactory和 ApplicationContext的区别
    	 * ApplicationContext接口 继承 BeanFactory接口
    	 * 	1.BeanFactory:懒加载模式:去Spring对象拿的时候,Spring才开始创建对象
    	 * 	2.ApplicationContext:迫切加载:不管你需不需要,先创建一个对象
    	 * @throws Exception
    	 */
    	@Test
    	public void testBean() throws Exception {
         
            //读取资源文件
    		Resource resource = new ClassPathResource("applicationContext.xml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值