码迷,mamicode.com
首页 > 编程语言 > 详细

Spring入门看这一篇就够了!!!不够你找我!

时间:2020-04-25 23:35:35      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:java   面向切面   依赖   案例   目的   配置文件   private   system   注入   

今天呢, 咱就来点好家伙,前面都是些java基础,

怎么说也得来点框架对吧, 话不多说,煌sir 带你开干!

干就完了! 

 

Spring框架

一.Spring简述

  • 为什么要学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()

 

 

二. 传统项目和spring项目区别

  • 传统项目:

优点:搭建环境容易

缺点:

1、service、dao、JavaBean创建都是由程序员自己new(何时销毁、多线程处理)

2、功能扩展特别困难(500个方法,加入相同的2行代码,修改500次)

3、框架之间的整合特别麻烦

 

Spring项目:

优点:

1、所有的对象几乎都是由spring管理(不用管创建、销毁、多线程)  IOC

2、数据库事务的管理很轻松(只需要判断是否抛出异常给spring)

3、功能扩展特别容易(500个方法,加入相同的2行代码,修改1次)  AOP

4、框架之间的整合只需要一个配置文件即可

缺点:1、环境搭建很麻烦

 

 

三. 搭建环境-spring基础(暂无MyBatis)

技术图片

 

 

四. 入门案例

1.IOC简述

IOC:控制反转。 把对象的管理权力(创建、销毁)由程序员 反转给 spring容器。

 

2. Spring项目编写

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(www.baihuayl7.cn name="demo1Dao")
    private Demo1Dao demo1Dao;
    public void insert(){
        System.out.println("demo1Service-insert");
        demo1Dao.insert(www.yifayuled.cn);
    }
}

 

Demo1Test

public class Demo1Test www.chuancenpt.com{
    @Resource(name=www.xinyueylzc.cn "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();
    }
}

 

 

 

3.入门流程详解

技术图片

 

 

 

请给努力中的自己点个赞哦!

每天进步一点点`~~~~~

Spring入门看这一篇就够了!!!不够你找我!

标签:java   面向切面   依赖   案例   目的   配置文件   private   system   注入   

原文地址:https://www.cnblogs.com/woshidanzi/p/12775910.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!