Spring
luopeng207663436
月入好多k的Java搬砖工程师
展开
-
两天来的状态总结
这两天做了一个简单的基于Spring和MyBatis整合的增删改查案例,中途也到过问题,而且是自己在之前的学习中不知道的,就是用到jsp时,我发现页面不可以收到数据,反而是显示了我写的el表达式,后来我首先是通过servlet来接收一下,看参数是不是有得到,再在网上好久的资料,最后发现是因为jsp页面默认是不识别el表达式的,这一点很是苦恼,我最开始是连问题怎么查都不知道,时间就花的多了一点,总结一下,希望下次引以为戒,不会再出现这样的情况了!网上给出的解决方案有三种,我是用的web.xml配置的方式,声原创 2020-06-02 22:53:11 · 83 阅读 · 0 评论 -
十三、Spring声明式事务管理(基于纯注解)
基于纯注解的声明式事务管理,可以根据xml配置来一步步的理解改进pom依赖 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.6.RELEA原创 2020-05-31 15:07:51 · 114 阅读 · 0 评论 -
十二、Spring的声明式事务控制(基于xml)
首先是导入依赖 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.2.RELEASE</version> <原创 2020-05-31 00:38:19 · 126 阅读 · 0 评论 -
十一、总结一下今天在SpringAOP中遇到的一个坑,事务控制一直失败,自己感觉代码没错的感觉,往底层看,很明了了
今天晚上找bug找了很久,是一个关于QueryRunner的在xml的配置中我写的是prototype,多例我找了很久都无法进行事务控制,后来我想到了数据源,我们用的是多例生成QueryRunner的bean对象,这样的话,将会产生不同的连接,从query方法点进去可以看到继续点开发现没有,每次都会产生一个新的连接如果说是传入了一个连接,我们让这个连接不变,事务管理自然也可以得到实现我们直接在传入的时候给他一个不变连接,每次用的就是一个连接那怎么获得同一个连接呢?ThreadLoca原创 2020-05-29 23:31:22 · 395 阅读 · 0 评论 -
十、SpringAOP基于注解的几种通知类型
首先要说明一点,spring基于注解的四种通知会有bug,所以实际开发,建议使用基于注解的环绕通知首先pom依赖如下 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <v原创 2020-05-29 21:11:14 · 371 阅读 · 0 评论 -
九、SpringAOP基于xml配置的环绕通知
spring的环绕通知可以让我们手动的控制增强的代码我们来在配置文件中只需要<aop:around method="arruondPrintLog" pointcut-ref="pt1"/>xml配置文件如下<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/原创 2020-05-29 18:13:25 · 737 阅读 · 0 评论 -
八、Spring AOP基于xml的几种通知类型配置(前置通知,后置通知,异常通知,最终通知)
接上一章springAOP入门案例我们在上一章代码的基础上进行修改首先,在工具类里面加上另外四种通知类型package com.lp.utils;/** * 用于记录日志的工具类,它里面提供了公共方法 * * @Date 2020/5/29 14:41 * @Author luopeng */public class Logger { /** * 前置通知 */ public void beforePrintLog(){ Syste原创 2020-05-29 16:22:01 · 807 阅读 · 0 评论 -
七、SpringAOP入门案例(基于xml配置)
spring的AOP是面向切面编程的意思,不需要改变原有代码的基础上对原有代码进行增强我们来看入门案例首先创建一个service接口package com.lp.service;/** * @Date 2020/5/29 14:37 * @Author luopeng */public interface AccountService { /** * 模拟保存账户 */ void saveAccount(); /** * 模拟更新账户原创 2020-05-29 15:52:39 · 232 阅读 · 0 评论 -
六、Spring基于纯注解的开发和基于注解加xml配置你怎么选
其实在没有熟悉spring的一些人身上总会觉得spring用纯注解的话会很简单,这也是我最开始的想法,现在我们用下面的代码来看看到底是怎么样的!我们首先把依赖导入 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactI原创 2020-05-27 20:42:08 · 567 阅读 · 7 评论 -
五、Spring中基于注解的功能实现
首先我们需要知道这个单词ComponentComponent(value=“userService”)表示以名字为userService将该类加到spring容器当中直接写Component则默认将该类加入spring容器中,名字是以小写字母开头的类名还有另外三个@Repository、@Service、@Controller,用法一模一样,只是为了让大家更直观的知道此时是持久层、业务层还是控制层!所以先来看看service层的实现类package com.lp.service.impl;原创 2020-05-27 16:19:30 · 378 阅读 · 0 评论 -
四、Spring的依赖注入详解
spring依赖注入分为三种方式构造方法注入首先我们在类中加上下面的代码,我们加上三种类型的变量,分别是基本数据类型,包装类型和Date对象类型package com.lp.service.impl;import com.lp.dao.UserDao;import com.lp.dao.impl.UserDaoImpl;import com.lp.service.UserService;import java.util.Date;/** * @Date 2020/5/26 21:21原创 2020-05-27 14:54:37 · 777 阅读 · 2 评论 -
三、Spring中bean的生命周期
接上一章从工厂模式到Spring的分析(二)生命周期这个词是我以前最烦听到的,因为我学东西没有一点体系,看到什么算什么,现在渐渐地返现很多东西其实并不是那么难理解难记忆,只是自己学习方式没有 用正确!现在我们来讲一讲spring中bean的生命周期,其实生命周期就是对象什么时候创建、什么时候销毁而已!在单例(singleton)中,上一章节我们讲过在spring中有两种加载机制嘛,单例对象就属于容器创建时就创建了bean对象,程序结束就销毁对象!多例(prototype)中,是一种延迟加载的机制,原创 2020-05-27 12:55:21 · 174 阅读 · 0 评论 -
二、从工厂模式到Spring的分析(二)
现在接上一章从工厂模式到Spring的分析(一)我们现在来开始写spring的xml配置文件,先来分析一下:对于我们先前的工厂模式,自己在工厂里面来通过反射创建对象,spring核心容器通过它的配置文件帮我们做了封装,我们用id来指定唯一标志,class来指定类路径pom依赖 <dependency> <groupId>org.springframework</groupId> <artifactId&g原创 2020-05-27 00:53:49 · 102 阅读 · 0 评论 -
一、从工厂模式到Spring的分析(一)
通过反射创建对象,尽量少的使用new()创建对象是降低类与类之间耦合度方法,我们先来看看工厂模式创建对象的一个简单的实例首先创建一个UserDao接口package com.lp.dao;/** * @Date 2020/5/26 21:19 * @Author luopeng */public interface UserDao { void saveUser();}创建接口实现类package com.lp.dao.impl;import com.lp.dao.Us原创 2020-05-26 21:57:25 · 253 阅读 · 0 评论