关键词:
今天呢, 咱就来点好家伙,前面都是些java基础,
怎么说也得来点框架对吧, 话不多说,煌sir 带你开干!
干就完了!
Spring框架
一.Spring简述
- 为什么要学spring?
- 传统项目优点:搭建容易
- 传统项目缺点:
- service、dao 对象都是程序员手动new 出来。(没有考虑过何时销毁、没有考虑过多线程相关内容)
- 向多个方法中加入相同代码会很麻烦。(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也可以重写父类的方法,那为什么非要“多此一... 查看详情