Spring基础快速入门

Spring的概述



什么是Spring?

在这里插入图片描述

         Spring以 IOC (Inverse of Control 控制反转) 和AOP (Aspect Oruented Programming 面向切面编程) 为内核。

        Spring是总舵优秀设计模式的组合(工厂、单例、代理、适配器、包装器等)

        为什么说Spring是一个一站式的轻量级开源框架呢?EE开发可分成三层架构,针对JavaEE的三层结构,每一层Spring都提供了不同的解决技术。

一站式: ​ Spring框架有对三层的每层解决方案: ​

        web层:Spring MVC. ​

        持久层:JDBC Template  ​

        业务层:Spring的Bean管理

Spring的好处

        1、方便解耦,简化开发 ​ Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理 ​

        2.、、AOP编程的支持 ​,Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能 ​ 声明式事务的支持 ​ 只需要通过配置就可以完成对事务的管理,而无需手动编程 ​ 方便程序的测试 ​

        3、Spring对Junit4支持,可以通过注解方便的测试Spring程序 ​ 方便集成各种优秀框架 ​ Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持 ​ Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,降低JavaEE API的使用难度

Spring的架构组成

Spring架构由诸多模块组成,可分类为

  • 核心技术:依赖注入,事件,资源,i18n,验证,数据绑定,类型转换,SpEL,AOP

  • 测试:模拟对象,TestContext框架,Spring MVC测试,WebTestClient。

  • 数据访问:事务,DAO支持,JDBC,ORM。

  • Spring MVC和 Spring WebFlux Web框架。

  • 集成:远程处理,JMS,JCA,JMX,电子邮件,任务,调度,缓存。

  • 语言:Kotlin,Groovy,动态语言。

Spring的入门案例

        1.导入依赖

dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.9</version>  
</dependency>
    

          2 在自己工程下创建com/qf/service包,创建UserService接口和UserServiceImpl实现类

package com.qf.service;

public interface UserService {
    public void addUser();
    public void updateUser();
}
package com.qf.service.impl;

import com.qf.service.UserService;

public class UserServiceImpl implements UserService {
    @Override
    public void addUser() {
        System.out.println("addUser...");
    }

    @Override
    public void updateUser() {
        System.out.println("updateUser...");
    }
}

        3 在\src\main\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 id="userService" class="com.qf.service.impl.UserServiceImpl"></bean>

</beans>

         4.在测试类中进行测试

package com.qf.test;

import com.qf.service.UserService;
import com.qf.service.impl.UserServiceImpl;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test1 {
    @Test
    public void addUserTest() {
      
        //加载配置文件
        ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        //调用getBean方法获取实例化对象
        //传的"userService" 是配置文件 bean标签的id属性值
        UserService userService = (UserService)applicationContext.getBean("userService");
        userService.addUser();
        applicationContext.close();      
    }
}

总结:

        可以将所有对象创建和依赖关系维护,交给Spring管理,不用再手动创建对象 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值