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

woshidanzi      2022-05-05     686

关键词:

今天呢, 咱就来点好家伙,前面都是些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.入门流程详解

技术图片

 

 

 

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

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

json入门看这一篇就够了

什么是JSONJSON:JavaScriptObjectNotation【JavaScript对象表示法】JSON是存储和交换文本信息的语法。类似XML。JSON采用完全独立于任何程序语言的文本格式,使JSON成为理想的数据交换语言S为什么需要JSON提到JSON,我们就应该和XML来进行对... 查看详情

mix2适配看这一篇就够了,18:9只需一行代码(代码片段)

今天同事已经拿到MIX2了(F码通道,想要的可以找我哦),但是app的状态栏适配不够好,空出很大一块出来。直接上代码<applicationandroid:resizeableActivity="true"></application>AndroidManifest.xml只需在AndroidManifest 查看详情

redux从入门到进阶,看这一篇就够了!(代码片段)

Redux,带你从入门到进阶🌂序言☂️一、基础知识1、Redux概念简述2、Redux的工作流程🎃二、使用Antd实现TodoList页面布局1、在项目中使用Antd2、使用Antd实现TodoList的基本布局3、创建redux中的store(1)创建storeÿ... 查看详情

redux从入门到进阶,看这一篇就够了!(代码片段)

Redux,带你从入门到进阶🌂序言☂️一、基础知识1、Redux概念简述2、Redux的工作流程🎃二、使用Antd实现TodoList页面布局1、在项目中使用Antd2、使用Antd实现TodoList的基本布局3、创建redux中的store(1)创建storeÿ... 查看详情

docker从入门到精通,看这一篇就够了(代码片段)

一、Docker简介1、背景物理机时代一个物理机上安装操作系统,然后直接运行我们的软件。也就是说你电脑上直接跑了一个软件,并没有开虚拟机什么的,资源极其浪费。缺点部署慢成本高虚拟机都不开,直接上物... 查看详情

[转]关于深度学习,看这一篇就够了

关于深度学习,看这一篇就够了原文地址:http://www.dlworld.cn/XueXiSuanFa/13.html[日期:2016-04-26]来源:36氪 作者:[字体:大 中 小]    编者按:本文作者王川,投资人,中科大少年班校友,现居加州硅谷,个人微信号... 查看详情

史上最简明的tcpdump入门指南,看这一篇就够了(代码片段)

简介网络数据包截获分析工具。支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句帮助去除无用的信息。例子1、监听特定网卡tcpdump-ien02、监听特定主机例子:监听本机跟主机182.254.38.55之间往... 查看详情

python函数式编程,看这一篇就够了!

...hon编程时光本文对Python中的函数式编程技术进行了简单的入门介绍。头等函数在Python中,函数是「头等公民」(first-class)。也就是说,函数与其他数据类型(如int)处于平等地位。因而,我们可以 查看详情

python函数式编程,看这一篇就够了!

...hon编程时光本文对Python中的函数式编程技术进行了简单的入门介绍。头等函数在Python中,函数是「头等公民」(first-class)。也就是说,函数与其他数据类型(如int)处于平等地位。因而,我们可以 查看详情

288页的python编程文档,从入门到实践,入门看这一篇就够了

Python是一门面向对象,解释型的高级程序设计语言,它的语法非常简洁、优雅,而这也是Python的一些设计哲学。Python自带了很完善的库,涵盖了数据库,网络,文件处理,GUI等方方面面,通过这些... 查看详情

vue3核心技能从入门到难点攻破,看这一篇就够了!

在Vue2.0时代,国内大厂的前端开发框架,几乎清一色偏向React。因为对于业务成熟的公司而言,一个项目,可能会包含很多非侵入式的代码和服务,并不是功能实现了就万事大吉。但随着Vue3.0横空出世,字... 查看详情

json格式对象该怎么传?看这一篇就够了!

一、List<Map>一般会使用在SQL语句的返回结果上代码如下:@Query(value="selectuser_name,user_agefromsys_userwheredept_id=?,nativeQuery=true)List<Map>findUserInfoById(LongdeptId);根据部门的ID查 查看详情

java中的多线程你只要看这一篇就够了

 https://www.cnblogs.com/wxd0108/p/5479442.html  查看详情

jetpackworkmanager看这一篇就够了~

前言最近有读者反馈,在我的新书​​《AndroidJetpack开发:原理解析与应用实战》​​中并没有提及到WorkManager,这是因为目前这个东西在国内并不是很好用。最近因为工作需要正好研究了下,也作为补充章节分享给读者。什么... 查看详情

handler看这一篇就够了(代码片段)

Handler使用首先来熟悉一下Handler的四种使用方式,如果比较熟悉可以直接跳过:通过sendMessage消息机制来发送sendEmptyMessage(int);//发送一个空的消息sendMessage(Message);//发送消息,消息中可以携带参数sendMessageAtTime(Message,long... 查看详情

typescript与javascript的区别(typescript万字基础入门,了解ts,看这一篇就够了)(代码片段)

TypeScript是JavaScript的一个超集,支持ECMAScript6标准(ES6教程)。TypeScript由微软开发的自由和开源的编程语言。TypeScript设计目标是开发大型应用,它可以编译成纯JavaScript,编译出来的JavaScript可以运行在任何浏览... 查看详情

javanio看这一篇就够了

原文链接:https://mp.weixin.qq.com/s/c9tkrokcDQR375kiwCeV9w?现在使用NIO的场景越来越多,很多网上的技术框架或多或少的使用NIO技术,譬如Tomcat,Jetty。学习和掌握NIO技术已经不是一个JAVA攻城狮的加分技能,而是一个必备技能。在前篇文章... 查看详情

@override看这一篇就够了

一、是什么一句话:它是表示重写的注解@Override注解是伪代码,用于表示被标注的方法是一个重写方法。不写也完全可以,但强烈建议写上! 二、为什么用既然不写@Override也可以重写父类的方法,那为什么非要“多此一... 查看详情