Spring基础 IOC入门

1.体系知识
在这里插入图片描述

Spring替代掉的web核心知识:
监听器、过滤器(springMVC中被拦截器)、请求转发和重定向(springMVC的跳转替代)

2.Spring基础
2.1Spring简述
为什么要讲解spring:
传统项目优点:搭建容易
传统项目缺点:1、service、dao 对象都是程序员手动new 出来。(没有考虑过何时销毁、没有考虑过多线程相关内容)
2、向多个方法中加入相同代码会很麻烦。(500个方法,加入一个控制台展示语句,就需要修改500次)

为了1、更加专业地管理项目中的对象
	 2、为了将来功能扩展更加方便、快捷

Spring是什么:
Spring框架是企业使用最多的框架,没有之一。Spring是一站式框架,称之为一站式框架的原因是Spring可以整合其他框架。

Spring:
Spring IoC:控制反转技术。
对象工厂及依赖注入;
用于管理对象的创建和销毁,用于向变量中注入实例对象
Spring AOP:面向切面编程技术,为Spring事务管理打下基础。
不修改原来代码,就能把新代码切入到原来代码的执行中
(反射技术)
Spring Transaction management:Spring事务管理。
程序员自己:
try{

//提交事务

}catch(Exception e){
//回滚事务
}

只需要判断需不需要抛出异常:
抛出异常给spring,spring帮你自动回滚
没有抛出异常给spring,spring自动帮你提交事务
Throw new RuntimeException()
2.2传统项目和spring项目区别(了解)
传统项目:
优点:搭建环境容易
缺点:
1、service、dao、JavaBean创建都是由程序员自己new(何时销毁、多线程处理)
2、功能扩展特别困难(500个方法,加入相同的2行代码,修改500次)
3、框架之间的整合特别麻烦

Spring项目:
优点:1、所有的对象几乎都是由spring管理(不用管创建、销毁、多线程)
2、数据库事务的管理很轻松(只需要判断是否抛出异常给spring)
3、功能扩展特别容易(500个方法,加入相同的2行代码,修改1次)
4、框架之间的整合只需要一个配置文件即可
缺点:1、环境搭建很麻烦

2.3搭建环境-spring基础(暂无MyBatis)
在这里插入图片描述

2.4入门案例
2.4.1IOC简述
IOC:控制反转。 把对象的管理权力(创建、销毁)由程序员 反转给 spring容器。

2.4.2Spring项目编写
1、编写配置文件类(配置信息)
SpringConfiguration:

/**
 * spring核心配置文件
 * Configuration注解:标记当前Java类是一个spring核心配置文件类
 * ComponentScan注解:扫描spring需要管理的包
 *                    basePackages:告诉spring,spring需要管理和扫描的包
 */
@Configuration
@ComponentScan(basePackages = {"com.czxy.demo1"})
public class SpringConfiguration {
}

2、为spring注册组件
Demo1Dao:

/**
 * Component:组件。 标记当前类,由spring管理
 */
@Component("demo1Dao")
public class Demo1Dao {
    public void insert(){
        System.out.println("demo1Dao-insert");
    }
}

Demo1Service

@Component("demo1Service")
public class Demo1Service {
    private Demo1Dao demo1Dao;
    public void insert(){
        System.out.println("demo1Service-insert");
        demo1Dao.insert();
    }
}

3、组件注入 (告诉spring,创建好的对象,赋值给谁)
Demo1Service

@Component("demo1Service")
public class Demo1Service {
    @Resource(name="demo1Dao")
    private Demo1Dao demo1Dao;
    public void insert(){
        System.out.println("demo1Service-insert");
        demo1Dao.insert();
    }
}

Demo1Test

public class Demo1Test {
    @Resource(name="demo1Service")
    private Demo1Service demo1Service;

    @Test
    public void run1(){
        demo1Service.insert();
    }
}

4、加载spring配置文件,进行spring运行测试
Demo1Test

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {SpringConfiguration.class})
public class Demo1Test {
    @Resource(name="demo1Service")
    private Demo1Service demo1Service;

    @Test
    public void run1(){
        demo1Service.insert();
    }
}

2.4.3入门流程讲解
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46837596/article/details/105723072