
零基础SSM框架
文章平均质量分 53
零基础SSM框架
程序员大阳
挖掘机哪家强?
展开
-
零基础SSM入门教程(0)--教程背景与目录
Spring之路(1)–存在即合理、流行即道理Spring之路(2)–绕不过去的开发环境配置Spring之路(3)–正儿八经的开一个公司(使用xml配置Spring容器)Spring之路(4)–公司要有员工(使用xml定义Spring中的Bean)Spring之路(5)–IoC、DI傻傻分不清楚Spring之路(6)–让周杰伦和林俊杰来给我们做代言(详解Spring中使用xml定义bea...原创 2020-01-22 18:05:35 · 1980 阅读 · 0 评论 -
零基础SSM入门教程(1)--存在即合理、流行即道理
拦路虎提示!注意!警告!Spring可能是Java初学者路线上的一个拦路虎。何谓拦路虎?首先,路只有这一条,不学Spring,几乎就没法再Java这条道路上深耕,是为拦路。其次,虎者,厉害也。Spring学起来确实有难度,很多人初学者看了几章Spring入门的书,就以为掌握了Spring,结果连为何要用Spring,Spring是什么都不晓得。有点嚣张嘿。我辈代码中人,明知山有虎,却偏...原创 2019-08-26 08:36:52 · 782 阅读 · 0 评论 -
零基础SSM入门教程(2)--绕不过去的开发环境配置
背景不管是什么样的开发技术,代码实战必不可少。要写代码,得先把开发环境说明白了。JDK1.8+Eclipse是必不可少的,但后续是新建一个项目然后导入Jar包呢,还是直接用Maven构建项目?这是一个值得考虑的问题。思来想去,会用Maven的应该都会导Jar包,所以索性就直接导Jar包了,这样最大限度保障初学者的利益。JDK1.8安装配置没啥说的哈,下载安装JDK1.8,然后配置下环境变...原创 2019-08-26 10:20:17 · 634 阅读 · 0 评论 -
零基础SSM入门教程(3)--正儿八经的开一个公司(使用xml配置Spring容器)
Spring容器之前讲过了,Spring实际上是一种容器,是Java对象的容器,说白了就是对Java对象进行集中组织、管理。这就很像一个公司,对公司里面的人员、设备、事务等等进行集中管理。要开公司,首先得有公司的制度和战略方针,然后寻找营业场所注册公司。同理,要用Spring对Java对象进行集中组织管理,首先得有关于容器的配置说明,然后得把容器制作出来。先有鸡者,后有蛋焉。先有容器,才能...原创 2019-12-20 17:38:00 · 565 阅读 · 0 评论 -
零基础SSM入门教程(4)--公司要有员工(使用xml定义Spring中的Bean)
背景光有个空头公司是不行的,必须得有人在里面干事。同样,光有一个空的容器没啥意思,啥也干不了,必须还得有Java对象来办事。在Spring容器中管理的Java对象,就叫做Bean。Bean和普通Java对象不同的是,普通Java对象一般是用到的时候创建的,而Bean是在容器中先定义好的,要用的时候直接从容器中取出。创建一个类Bean也是一种Java对象,所以要创建Bean对象,得先有一个...原创 2019-12-28 08:04:46 · 905 阅读 · 0 评论 -
零基础SSM入门教程(5)--IoC、DI傻傻分不清楚
傻傻分不清楚很多老铁说起自己的Java水平,经常会提起,本人精通Spring,然后也熟知Spring的核心就是IoC和AOP。然后一问啥是IoC、啥是DI,就懵了,扯不清楚到底啥是啥,还有的就认为IoC和DI就是一个事,其实还真是有点差别滴。控制反转是啥IoC,即Inversion of Control,翻译成中文就是控制反转,那是对啥玩意的控制反转了呢,此处专指依赖项,也就是说对依赖项的...原创 2020-01-01 22:46:47 · 527 阅读 · 0 评论 -
零基础SSM入门教程(6)--让周杰伦和林俊杰来给我们做代言(详解Spring中使用xml定义bean时到底发生了啥)
背景之前讲过了如何使用xml定义spring容器中的bean,简简单单几行代码就可以实现,但是后面的道理可没那么简单,今天咱们就来好好絮叨絮叨,xml定义bean时到底发生了啥。round1 容器还不存在最开始的时候,我们使用xml定义下我们的容器,但是容器中啥也没有。<?xml version="1.0" encoding="UTF-8"?><!-- spring.xm...原创 2020-01-21 22:03:33 · 793 阅读 · 0 评论 -
零基础SSM入门教程(7)--提高公司管理效率(使用注解快速定义bean)
效率非常重要!公司要生存发展,必须提高生产效率;学生要提高学习成绩,需要提高学习效率;职场上的人员要发展事业,需要提高工作效率。效率非常重要这一点,没有必要多说,效率要尽可能的高,这样才能在有限的生命中尽可能多的创造精彩。xml效率很一般xml这种数据格式本身效率就比较一般,先不说在定义bean这个方面,就是传输数据上,效率也不如常用的json,例如我们要传递一个学生的信息,xml如下:...原创 2020-01-22 18:01:15 · 596 阅读 · 0 评论 -
零基础SSM入门教程(8)--提高资源管理的灵活性(使用JavaConfig定义bean)
注解方式配置bean的局限性使用注解代替xml配置bean之后,效率得到了显著提升,我们程序员写起代码了也甚是爽快,毕竟相对于编写xml,写代码无疑是更加爽快的。使用注解定义bean的方式虽然方便快速,灵活性却有所不足,举个最简单的例子,我们使用xml可以生成同一类型的多个bean,例如下面生成了两个Singer类型的bean。 <bean id="zhoujielun" class=...原创 2020-01-23 16:15:03 · 642 阅读 · 0 评论 -
零基础SSM入门教程(9)--拜托你大声怒斥我的名字(bean的命名非常重要)
我的名字今年听到一首很好听的歌曲《我的名字》,曲风轻松动感,词写得也很有意味:拜托你大声怒斥我的名字我要赌气向远方跑去如果没有这些声音我还搞不清多远才算是离开的距离人如其名,不论是对现实中的人,还是程序世界中的变量、方法、类、对象的命名,都是非常重要的。在我不算短暂却也基本不辉煌的程序生涯中,我惊奇的发现命名规范且舒畅对项目开发至关重要!如果在一个项目开发过程中能做到对变量、方法...原创 2020-01-23 17:23:37 · 747 阅读 · 0 评论 -
零基础SSM入门教程(10)--详解Spring中bean命名机制
概述上一篇已经对bean命名的重要性进行了说明,本篇主要讲解下bean命名的具体实现方式,同时还会实验下如果出现重复命名,Spring会如何处理。xml配置中bean命名首先有一个歌手类:package org.maoge.xmlbeandetail;public class Singer { private String name; public void sing() { S...原创 2020-01-23 17:24:38 · 854 阅读 · 0 评论 -
零基础SSM入门教程(11)--在xml配置中显示装配、自动装配bean
何为装配向bean中注入依赖项的过程即为装配,Spring中的装配大体有两种类型,一种就是显示的指定依赖项,另一种是通过一些规则自动的注入依赖项。具体的将,显示指定依赖项是直接指定依赖项的名称,非常明显和确定,这种方式好像没有特别明确的命名,为了好区分我称之为显示装配。而根据规则自动注入依赖项,是指由Spring容器自动的将符合指定类型或指定名称的依赖注入bean,该过程也称为自动装配。显而...原创 2020-01-24 12:30:13 · 654 阅读 · 0 评论 -
零基础SSM入门教程(12)--在注解配置中装配bean
背景上一篇讲了xml配置中如何装配bean,其实注解配置中装配bean的原理与xml一模一样,而且达到的效果也是相同的,不过是采用了不同的方式而已。所以本篇我们也并不更换实例,还是以在舞台中注入歌手、舞者为例,进行装配。由于注解情况下,都是直接在类、属性上添加注解,没有必要显示指定bean的包路径+类名,所以都是自动装配。按名称自动装配我们对bean进行命名,同时在装配时指定装配的bean...原创 2020-01-24 17:43:42 · 2095 阅读 · 0 评论 -
零基础SSM入门教程(13)--在JavaConfig配置中装配bean
概述与注解配置类似,JavaConfig中也是自动装配Bean,同样可以按类型或者按名称自动装配,相信如果您对前面xml和注解方式已经比较了解的话,本篇就不用赘述太多了,此处直接上代码,需要讲解的会在注释中给出。按类型自动装配实例干干净净的歌手类、舞者类、舞台类由于注入工作是在javaconfig中完成,所以类上无须添加特殊信息。package org.maoge.javaconfigs...原创 2020-01-24 18:11:25 · 573 阅读 · 0 评论 -
零基础SSM入门教程(14)--bean的生命周期
何为生命周期所谓生命周期,一个对象(包括普通对象、Spring容器、Spring普通bean)从生存到毁灭的全过程。何为作用域由Spring容器创建的bean的生存期,被称为bean的作用域,也就是bean有作用生存期。常见的作用域有四周:singleton作用域,针对一个bean定义只创建一个bean实例,在Spring容器整个生命周期都可以使用该实例。注意这也是bean的默认作用域...原创 2020-01-24 22:25:05 · 646 阅读 · 0 评论 -
零基础SSM入门教程(15)--SpringMVC的工作流程
SpringMVC是干啥的SpringMVC是Spring框架的一个子项目,是用来开发Web应用的,也就咱们俗称的网站。MVC的意思是Model模型-View视图-Controller控制器,这是一种模式,可以说是网站开发中最常用的一种模式,SpringMVC也采用了这种模式(废话,不然能叫SpringMVC么)。也就是说SpringMVC是采用了Spring技术的,采用了MVC设计模式的,...原创 2020-01-25 10:19:56 · 516 阅读 · 0 评论 -
零基础SSM入门教程(16)--完整实现一个SpringMVC实例(使用xml配置SpringMVC)
背景之前所讲的程序,都是普通的Java Project,也就是说输出都是从控制台输出的,比较简单。SpringMVC是web应用,所以需要部署到web服务器(本文采用Tomcat)上运行,项目结构与Java Project也不同。所以本文会从头到尾详细的说明下使用SpringMVC开发web项目的过程。注意本文依然使用导入jar包的形式进行操作,而不使用mavan,还是因为觉得会maven...原创 2020-01-25 21:06:38 · 1026 阅读 · 0 评论 -
零基础SSM入门教程(17)–全部使用注解配置SpringMVC
背景上一篇文章详细讲述了使用xml配置SpringMVC的流程,不外乎是指定DispatcherServlet、指定容器配置文件,然后编写控制器和视图。使用注解配置也类似,我们得有一个类负责指定DispatcherServlet,然后有个配置类负责配置容器同时开启对控制器等bean的扫描,最后编写控制器和视图页面完成具体功能。下面具体实现下。新建项目新建项目SpringMvcSecond,...原创 2020-01-25 23:21:20 · 749 阅读 · 0 评论 -
零基础SSM入门教程(18)–SpringMVC+Bootstrap开发博客系统实例(需求分析篇)
背景到目前为止,我们对Spring框架也算是入门了,可以用现有的知识实现一个简单的博客系统。系统虽小,却也是五脏俱全,咱们正儿八经的按流程开发一下,考虑到系统需要足够简单,我们数据库使用MySQL实现,访问数据库采用最简单的JDBC实现(后续会逐渐采用SpringJDBC/JPA/MyBatis),后端框架采用Spring+SpringMVC。前端视图肯定是采用JSP,原生的网页确实过于难看...原创 2020-01-26 11:52:36 · 871 阅读 · 0 评论 -
零基础SSM入门教程(19)–SpringMVC+Bootstrap开发博客系统实例(数据库与URL设计篇)
概述对于一个项目而言,确定了数据库表结构,基本上就确定了系统涵盖的概念和功能。确定了页面及页面请求的URL信息,基本上就确定了系统的功能及流程。所以这两个是基础,一般在项目开始之初进行设计。数据库设计博客系统比较简单,就是保存一些博客的信息,具体有作者、发表时间、标题、内容这些信息即可。所以设计数据库表结构如下(Navicat设计表界面截图):URL设计因为功能比较简单,我们设计如...原创 2020-01-26 14:27:37 · 770 阅读 · 0 评论 -
零基础SSM入门教程(20)–SpringMVC+Bootstrap开发博客系统实例(项目主体结构实现)
前言上一篇我们已经设计了数据库结构,并设计了整体的URL和页面关系,本篇我们实现项目的主干代码。我个人编码的习惯是先写出主干,再细化局部,就是由全局到局部,这样我感觉思路清晰、效率较高。就跟盖大楼先搭建整体的钢混结构,然后再填充差不多的意思。本篇我们就按照这种方式来搭建主体结构。新建项目之前已经详细描述过SpringMVC web项目的搭建流程,本文简单描述下。打开eclipse,点击F...原创 2020-01-27 09:48:51 · 857 阅读 · 0 评论 -
零基础SSM入门教程(21)–SpringMVC+Bootstrap开发博客系统实例(数据库模块实现)
背景上一篇已经实现了整体页面和控制器跳转的部分,本篇来在Spring框架的基础上,集成JDBC实现数据库的相关操作。注意本篇的JDBC操作是原始封装,并没有使用SpringJDBC相关的技术,关于SpringJDBC会在后续章节具体介绍。导入jar包在开始之前,我们需要将JDBC相关的jar包拷贝到lib目录下,此处使用的是mysql-connector-java-5.1.48.jar,下...原创 2020-01-27 12:20:40 · 585 阅读 · 0 评论 -
零基础SSM入门教程(22)–SpringMVC+Bootstrap开发博客系统实例(引入Boostrap并实现浏览博客页面)
背景还有啥背景啊,直接一个功能一个功能实现啦,哈哈,兄弟们稳了。浏览博客功能实现1、首先修改BlogController的blogView方法,进入浏览博客页面时应携带博客列表信息 @Autowired//自动装配blogService private BlogService blogService; /** * 1 进入浏览博客页面 */ @RequestMapping("...原创 2020-01-27 17:04:15 · 802 阅读 · 0 评论 -
零基础SSM入门教程(23)–SpringMVC+Bootstrap开发博客系统实例(其他功能实现)
前言到目前来说,跟SpringMVC与Bootstrap相应的技术都已经引入到项目中来并进行过使用了,剩下的就是功能逐一实现了,我们只讲述一些没遇到过的重点问题,重复部分不再介绍。请注意代码中的注释部分就好了。新增博客功能实现首先导航栏点击【新增博客】后,通过访问blogAdd.do,跳转到了blogAdd.jsp,我们修改下blogAdd.jsp代码如下:<%@ page lang...原创 2020-01-27 17:52:26 · 617 阅读 · 0 评论 -
零基础SSM入门教程(24)–Spring Restful的来头
Rest是啥Rest是一种软件架构设计的风格,注意它并不是一种强制约定。举个例子,我们在变量命名是,可以采用驼峰命名法userName,也可以采用全部首字母大写UserName,也可以采用下划线分割user_name,也可以采用汉语拼音简写风格yhm(用户名首字母)。这些不同的写法,其实本身并没有优劣之分,但是遵循了不同的设计风格。OK,那么Rest是啥风格呢,Rest风格及通过URL地址...原创 2020-01-27 20:56:22 · 440 阅读 · 0 评论 -
零基础SSM入门教程(25)–Spring Restful+jQuery+Bootstrap开发博客系统实例(API后端开发篇)
背景本篇将之前实现过的博客系统的后端api改为Spring Restful风格,虽然说是修改,但实际上还是从头到尾实现一下子。新建项目打开eclipse,File-New-Other-Dynamic Web Project。Project name:restfulblog勾选Generate web.xml deployment descriptor导入jar包将之前一直在用的jar...原创 2020-01-28 10:36:59 · 514 阅读 · 0 评论 -
零基础SSM入门教程(26)–Spring Restful+jQuery+Bootstrap开发博客系统实例(前端开发篇)
概述本篇来实现下前端部分,采用jQuery发起ajax请求访问后端Restful的API,Bootstrap主要负责显示样式部分。配置访问静态资源之前我们已经配置了/*作为SpringMVC拦截的请求路径,这样导致我们的网页等静态资源实际上也无法访问了。所以需要开放一个目录作为静态资源目录,对此目录的请求不被拦截,我们在WebContent下新建static目录存放html页面等静态资源。...原创 2020-01-28 15:01:17 · 790 阅读 · 2 评论 -
零基础SSM入门教程(27)–使用RestTemplate访问Restful接口
背景访问HTTP接口,应该是一种非常常见的工作了,Spring封装了RestTemplate,可以用来访问Rest web接口。本篇我们演示下RestTemplate的使用。编写测试类代码如下,可以看到RestTemplate的封装,可以说相当的简洁明了,似乎也没有必要做详细的解释,想必大家看到示例,就知道如何使用了。此处想说的是相比于HttpClient等Http组件,这个简单多了。...原创 2020-01-28 16:56:39 · 916 阅读 · 0 评论 -
零基础SSM入门教程(28)–Spring JDBC的来头及周边
来头Spring JDBC指的是Spring对JDBC一系列的支持,并不仅仅是一种技术。而且实际上最常用的,并不是Spring对JDBC的这些封装技术,而是Spring+MyBatis或者Spring+Hibernate这样的结合。那么为何还要介绍Spring JDBC呢,有几点原因:对简单项目而言,使用Spring JDBC还是比较划算的,因为其配置少,开发快,而且确实比原生的JDBC...原创 2020-01-29 11:05:07 · 379 阅读 · 0 评论 -
零基础SSM入门教程(29)–Spring JDBC多种数据源DataSource配置实例
何为数据源实际上之前我们在没应用Spring JDBC的时候,自己就封装了一个数据源类,代码人如下。可以看出,数据源也就是将数据库连接相关的参数、获取数据库连接的方法等信息和功能封装好的组件,实际上也就是数据库源头的意思。package org.maoge.restfulblog;import java.sql.Connection;import java.sql.DriverManag...原创 2020-01-29 12:20:59 · 1424 阅读 · 1 评论 -
零基础SSM入门教程(30)–使用JdbcTemplate完成数据库操作(xml+注解配置)
背景上一篇讲述了数据源DataSource,本篇使用的JdbcTemplate完成对数据库增删改查操作,话不多少,开整…创建spring.xml创建spring.xml,这个没啥好说的,注意开启对包的扫描,以便于后续自动注册包内定义的bean:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.s...原创 2020-01-29 15:50:53 · 622 阅读 · 0 评论 -
零基础SSM入门教程(31)–使用NamedParameterJdbcTemplate完成数据库操作(JavaConfig配置)
背景上一篇我们完成了JdbcTemplate下数据库增删改查操作的实例,其中相关bean的配置是通过xml和注解实现的。JdbcTemplate是按占位符的位置传递参数,本篇我们演示下NamedParameterJdbcTemplate的使用,该类时使用名称传递参数的,比JdbcTemplate更加优雅。然后本篇我们使用JavaConfig来配置相关的bean,可以体会JavaConfig简洁...原创 2020-01-29 16:49:10 · 879 阅读 · 0 评论 -
零基础SSM入门教程(32)–SpringMVC+SpringJDBC+jQuery+Bootstrap博客系统完整实例
前情回顾之前我们已经用SpringMVC+JSP+Boostrap+原生JDBC实现过博客系统。然后我们将其改为了前后端分离的Spring Restful+jQuery+Bootstrap+原生JDBC实现的博客系统。本篇我们将完整的实现一个Spring+SpringMVC+SpringJDBC+jQuery+Bootstrap的博客系统,说的很复杂,实际上后端还是Restful风格的API...原创 2020-01-29 21:09:57 · 779 阅读 · 0 评论 -
零基础SSM入门教程(33)–MyBatis基本介绍与应用场景
常用的访问数据库的方式说实话,我就只用过4种:第1中,自己编写JDBC访问数据库,或者简单的封装下JDBC访问数据库,毫无疑问这种大家应该都写过,但是质量堪忧。因为绝大多数程序员还达不到封装国际知名类库的能力,而后面的方式都是国际知名的。...原创 2020-02-01 16:16:46 · 511 阅读 · 0 评论 -
零基础SSM入门教程(34)–使用xml配置Spring+SpringMVC+MyBatis(SSM)项目完整实例
概述本篇介绍下如何使用xml配置SSM项目,并实现对单表(还是之前一直举例的blog表)增删改查操作。因为需要配置的东西比较多,所以还是要简单的说下思路,先理顺了整体思路,才容易理解每个局部是在干什么。首先需要新建一个网站项目,然后引入相关的jar包,因为SSM框架是别人封装好的,所以需要引入别人的jar。因为是网站项目,所以需要配置web.xml,这个配置文件是网站项目配置文件。当网站...原创 2020-02-01 20:40:03 · 818 阅读 · 0 评论 -
零基础SSM入门教程(35)–使用JavaConfig配置Spring+SpringMVC+MyBatis(SSM)项目完整实例
背景本篇的表面目的,就时去掉烦人的xml文件,全部使用JavaConfig(如果要表达的更加严谨,其实除了JavaConfig配置,还有注解配置)开发一个SSM项目。真实目的是演示,xml、注解、JavaConfig只是配置bean的不同方式,功能目的是一致的。在本系列文章中,我曾经很多次做过一件事——将xml+注解配置的SSM项目翻译为JavaConfig+注解配置的SSM项目,目的就是让大...原创 2020-02-01 22:54:16 · 878 阅读 · 0 评论 -
零基础SSM入门教程(36)–事务很重要吗?Spring为何要封装事务?Spring事务有陷阱吗?
可以不使用事务吗真的遇到过开发企业应用,但是不知道啥是事务的朋友。好吧,我始终认为抛开性能、界面、易用性等方便不说,正确性应该是一个项目最基础的要求了。所以,凡是企业应用,正儿八经有客户的系统,不是那种个人为了学习实验闹着玩的项目,都应该准确的使用事务。因为根据墨菲定律——凡事只要有可能出错,那就一定会出错,不使用事务,那肯定会出问题的。当然绝大多数的程序员,对事务的理解还是比较深刻的。...原创 2020-02-02 09:35:33 · 708 阅读 · 0 评论 -
零基础SSM入门教程(37)–在原生JDBC上使用事务
概述Spring事务是对原生事务的封装,我们还是需要了解如果直接使用JDBC的话,如何实现事务。我们将向blog表插入两条数据(两次更新操作)定义为一个原子性操作,所以我们是期望这两个操作能同时成功、或者同时失败的。不使用事务如果不使用事务,有可能会发生一个操作成功、另一个操作失败的情况,所以我们预期的原子性操作不成立。代码如下,可以看出因为执行过程中出现异常,导致最终只插入了一条数据,数...原创 2020-02-02 15:28:47 · 1832 阅读 · 0 评论 -
零基础SSM入门教程(38)–基于PlatformTransactionManager的编程式事务管理
编程式事务管理所谓编程式事务管理,就是使用普通的程序代码来管理事务,像上一篇原生JDBC事务实现就是编程式的。与编程式事务相对应的就是声明式事务管理,通过对方法或类添加注解的方式,声明该方法或类开启事务。很明显声明式事务代码量更少更加简单,更加高级,平时用的也更多,但是我们还是从最基础的编程式事务开始讲起。具体实现PlatformTransactionManager是Spring封装好接口...原创 2020-02-02 19:32:19 · 3158 阅读 · 3 评论 -
零基础SSM入门教程(39)–基于TransactionTemplate的编程式事务管理
背景上一篇实现的基于PlatformTransactionManater的编程式事务管理,是属于非常低级的封装,其实就是将原来的JDBC事务操作封装为一个接口而已,然后由具体的实现类来实现。本篇通过TransactionTemplate类,实现了对固定流程代码的封装,只需要将视作原子性操作的几个数据库操作放入一个方法中处理即可实现事务。代码实现修改配置类,在上一篇注册PlatformTra...原创 2020-02-02 20:22:23 · 554 阅读 · 0 评论