Spring 教程 1.Spring概述 简介 Spring : 春天 --->给软件行业带来了春天 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架. 2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版. 很难想象Rod Johnson的学历 , 他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学. Spring理念 : 使现有技术更加实用 . 本身就是一个大杂烩 , 整合现有的框架技术 官网…
Spring教程检视阅读 地址 可供参考的教程 <菜鸟学 SSH> <Spring Boot 那些事> <初识 Spring Security> <Spring MVC 4.2.4.RELEASE 中文文档> Spring 框架的参考手册 Spring IoC 容器 BeanFactory 和相关的接口,比如BeanFactoryAware.DisposableBean.InitializingBean,仍旧保留在 Spring 中,主要目的是向后兼容已经存…
原文:HowToDoInJava 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. ApacheCN 学习资源 目录 Spring 5 Spring 5 教程 Spring 5 的新功能和增强功能 Spring 使用注解配置 Bean Spring bean – XML 配置 Spring – @Lazy加载 Spring DispatcherServlet – 它是如何工作的? Spring @PostMapping示例 – @GetM…
Spring教程索引 2016-11-15 1 入门 1 概述.深入浅出Spring(一)Spring概述 2 体系结构 3 环境设置 4 Hello World 实例 5 IoC 容器   IoC容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁.Spring 容器使用依赖注入(DI)来管理组成一个应用程序的组件.这些对象被称为 Spring Beans. 5.1 IoC模式 5.2 深入浅出Spring(二) IoC详解 5.3 Spring 提供了以下两种不同…
来自turorialspoint的Spring教程(英文),官网:https://www.tutorialspoint.com/spring/index.htm 这个教程在国内已经被翻译成中文(不过是属于机器翻译),官网:http://wiki.jikexueyuan.com/project/spring/ 离线版本:链接:http://pan.baidu.com/s/1miJUM5i 密码:qj4q 总结: 1.本书比较容易上手,功能点达到中级,不会讲解升深入的难点,基本把Spring中级的功…
Spring 教程目录 可参考MyBatis的官方文档也比较清楚 https://mybatis.org/mybatis-3/zh/getting-started.html 代码 目录 https://github.com/fengyu415/MyBatis-Learn.git 本篇内容参考狂神说 秦疆老师的笔记 链接地址:https://mp.weixin.qq.com/s/CKpHBjZykGFURiaqnRHkLg 此教程只为学习使用…
MyBatis 3.5.5 教程 1.环境准备 jdk 8 + MySQL 5.7.19 maven-3.6.1 IDEA 学习前需要掌握: JDBC MySQL Java 基础 Maven Junit Idea快捷键 一键格式化代碼: Ctrl+Alt+L 2.MyBatis简介 1.什么是MyBatis MyBatis 是一款优秀的持久层框架 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程 MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息…
一.Spring是什么 通常说的Spring其实指的是Spring Framework,它是Spring下的一个子项目,Spring围绕Spring Framework这个核心项目开发了大量其他项目,比如Spring Security,Spring Data,Spring WebFlow等等. Spring是为简化Java EE开发而生,而在Java EE中使用最多的就是Spring Framework,接下来我们主要就是学习Spring Framework. Spring Framework包…
getBean() ApplicationContext接口获取Bean方法简介: • Object getBean(String name) 根据名称返回一个Bean,客户端需要自己进行类型转换: • T getBean(String name, Class<T> requiredType) 根据名称和指定的类型返回一个Bean,客户端无需自己进行类型转换,如果类型转换失败,容器抛出异常: • T getBean(Class<T> requiredType) 根据指定的类型返回一…
转:https://www.cnblogs.com/Lemon-i/p/8398263.html  一.概念介绍 1. 一站式框架:管理项目中的对象.spring框架性质是容器(对象容器) 2. 核心是控制反转(IOC)和面向切面(AOP) IOC:反转控制--将创建对象的方式反转 自己创建.维护对象-->由spring完成创建.注入 反转控制就是反转了对象的创建方式,从自己创建反转给了程序 DI:依赖注入--实现IOC需要DI做支持 注入方式:set.构造方法.字段 注入 注入类型:值类型(8…
1.@Component 创建类对象,相当于配置<bean/> 2.@Service 与@Component 功能相同. 2.1都写在ServiceImpl 类上. 3.@Repository 与@Component 功能相同. 3.1写在数据访问层类上. 4.@Controller 与@Component 功能相同. 4.1写在控制器类上. 5.@Resource(不需要写对象的get/set) 5.1java 中的注解 5.2默认按照byName 注入,如果没有名称对象,按照byType…
Spring框架是Java EE开发中最流行的框架,已经成为JEE事实上的标准,全世界的开发人员都在使用Spring框架开发各种应用.随着Spring boot,Spring cloud新版本的不断推出,以及微服务的流行,Spring已经成为JEE开发"必修"项目. 本教程介绍spring框架的核心概念:DI.AOP等.本教程遵循二八原则(80%的场景只会用到20%的技术,也就是说大多数场景只会用少最常用的技术),我们只讲最重要最常用的部分,让你不走弯路,花最少时间学到最多. Spri…
之前虚拟机安装Mac经常出问题,所以这次又重新安装Mac,为了加深映像和之后回忆方便,特写下此次安装教程. 一 工具的准备: 首先准备教程的软件和包 1,虚拟机VMW    下载地址:https://www.vmware.com/go   永久激活密钥:YG5H2-ANZ0H-M8ERY-TXZZZ-YKRV8 2,Mac10.13 镜像 (cdr格式,其他的格式可能会报错)  链接:https://pan.baidu.com/s/12PtR7H21nUmlTy-5KeCNJg 密码:4b69…
一.Spring AOP介绍 开发其实就是在不断的重构,抽象重复代码,然后进行封装.从最原始的模块化编程到面向对象编程,代码的封装越来越整齐清晰,但是依然存在重复的代码,而这些重复代码几乎都是与业务逻辑无关的系统逻辑代码.比如在数据操作类中的插入.更新.删除数据等方法中都存在数据库事务的处理,重要业务逻辑方法中都有日志记录的逻辑等等.每个应用系统都存在着这种系统级的重复逻辑代码,而我们并没有更好的方法去将这些代码抽象出来并进行管理.然而AOP的出现弥补了这一缺陷,AOP可以在不改变原有业务逻辑代…
1.上述续,假设你想注入bean当文件,传递给构造函数的参数.主要的变化是需要spring.xml配置文件来配置. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&qu…
一.概要 Sping装配bean主要有三种装配机制: 在XML中进行显式配置. 在Java中进行显式配置. 隐式的bean发现机制和自动装配. 原则: 建议尽可能地使用自动配置的机制,显式配置越少越好.当你必须要显式配置bean的时候(比如,有些源码不是由你来维护的,而当你需要为这些代码配置bean的时候),我推荐使用类型安全并且比XML更加强大的JavaConfig.最后,只有当你想要使用便利的XML命名空间,并且在JavaConfig中没有同样的实现时,才应该使用XML. 二.自动装配 Sp…
详见http://www.cnblogs.com/chenssy/archive/2013/03/17/2964593.html 1.注入普通的属性值 <bean id="Cat" clss="com.spring.Cat"> <property name="age" value="1" /> <property name="name" value="chenssy&…
Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合.更优良的程序. 在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制.如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”: ●谁控制谁,控制什么:传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去创…
背景: http://www.cnblogs.com/lixuwu/p/8495275.html已经实现了单文件的上传和下载,多文件的上传是另一种情景,这里记录下来 实现过程 先说前台. 运行以后就是这样子的. 一个非常简单的表单页面, 两个文件上传按钮, 一个提交 其中单个文件上传, 即只能选择一个文件, 无法同时选择多个 相对的, 多个文件就是可以同时选择多个文件了 文件选择以后就是这个样子 前台设置 代码如下: 一个form, 文件上传就是一个<input>输入, 属性type=&quo…
1.thymeleaf  页面修改后可能不会实时反馈到Web,做2步骤: 1)禁用掉tymleaf 缓存: spring.thymeleaf.cache=false 2)IDE编辑器:Ctrl + F9  重新编译页面源码文件 2.if不为空判断: string也又isEmpty()方法  详见文档 防止表单重复提交:重定向 自定义拦截器: /** * 登陆检查, */ public class LoginHandlerInterceptor implements HandlerIntercep…
1.首先spring的主要思想,就是依赖注入.简单来说.就是不须要手动new对象,而这些对象由spring容器统一进行管理. 2.样例结构 如上图所看到的,採用的是mavenproject. 2.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&q…
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true user=LF pwd=LF <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.spring…
1.事务的概念 理解事务之前,先讲一个你日常生活中最常干的事:取钱.  比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱:然后ATM出1000元钱.这两个步骤必须是要么都执行要么都不执行.如果银行卡扣除了1000块但是ATM出钱失败的话,你将会损失1000元:如果银行卡扣钱失败但是ATM却出了1000块,那么银行将损失1000元.所以,如果一个步骤成功另一个步骤失败对双方都不是好事,如果不管哪一个步骤失败了以后,整个取钱过程都能回滚,也就是完全取消所有操作…
1.SpEL简介 Spring表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言.语法上类似于EL:SpEL使用#{...}作为界定符,所有在大框号中的字符都将被认为是SpEL,SpEL为bean的属性进行动态赋值提供了便利. 2.SpEL用法 SpEL有以下几种用法: 1)引用字面量的值 2)通过bean的id对bean进行引用 3)引用类的静态属性 4)调用方法以及引用对象中的属性 5)计算表达式的值 6)正则表达式的匹配 3.SpEL应用 下面我们就来实现以上的…
filterChainMap.put("/403", "anon");filterChainMap.put("/assets/**", "anon");filterChainMap.put("/layui/**", "anon");filterChainMap.put("/js/**", "anon");filterChainMap.put(&qu…
这里面有很多坑,最大的坑是发现各方面都装好了结果报错  Loaded runtime CuDNN library: 7.3.1 but source was compiled with: 7.4.1,这是由于最新的tensorflow1.13需要用 Cudnn7.4.1编译.这个问题,StackOverflow上有人问到,但是目前依然未有人给出解决办法,下文会详述. 1. 去nvida官网下载显卡对应的驱动 2.下载安装Anaconda3,安装时勾选加入环境变量 3. 进入Anaconda Pr…
1.步骤 1.导入相关jar包 junit <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> mybatis <dependency> <groupId>org.mybatis</groupId> <arti…
1.回顾事务 事务在项目开发过程非常重要,涉及到数据的一致性的问题,不容马虎! 事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性. 事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用. 事务四个属性ACID 原子性(atomicity) 事务是原子性操作,由一系列动作组成,事务的原子性确保动作要么全部完成,要么完全不起作用 一致性(consistency) 一旦所有事务动作完成,事务就要被提交.数据和资源处于一种满足业务规则的一致性状态中 隔…
1.说明 在spring4之后,想要使用注解形式,必须得要引入aop的包 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>5.2.7.RELEASE</version> </dependency> 在配置文件当中,还得要引入一个context约束 <?xml v…
自动装配说明 自动装配是使用spring满足bean依赖的一种方法 spring会在应用上下文中为某个bean寻找其依赖的bean. Spring中bean有三种装配机制,分别是: 在xml中显式配置: 在java中显式配置: 隐式的bean发现机制和自动装配. 这里我们主要讲第三种:自动化的装配bean. Spring的自动装配需要从两个角度来实现,或者说是两个操作: 组件扫描(component scanning):spring会自动发现应用上下文中所创建的bean: 自动装配(autowi…