自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 idea+mysql+maven+SSM配置一个简单的web项目

前言:照着网上的配置搞了一天了,总觉得没差,但就是各种bug报错,头痛的不行,看日志也是一脸懵逼,说啥找不到文件。今天就来记录一下从无到有的构建一个简单完整的ssm项目,主要是为了熟悉构建ssm的配置问题,因为太繁琐,我就把这个当一个模板放到了git上,有兴趣的朋友可以下载来参考。实现的目标是:访问首页:http://localhost:8080/ssm_demo/页面显示:He...

2018-09-30 21:16:43 1045

原创 静态资源访问问题以及两种解决方案

为什么会出现静态资源访问问题呢?因为拦截器的问题,先来看一下我的web.xml配置: <display-name>Archetype Created Web Application</display-name> <servlet> &a

2018-09-28 15:47:53 3638

原创 利用SpringMVC实现Json交互

自己琢磨了下再加上网上参考的,还是比较完整的一个Json栗子,有兴趣的朋友可以看看,我放到了Git上:https://github.com/jjc123/SpringMVC_Json_Demo注意4点:点1:maven配置只要:··· <dependency> <groupId>com.fasterxml.jackson.core</groupId...

2018-09-27 17:18:52 329

原创 利用SpringMVC上传文件的Demo

前言:文件的上传功能也在网站中发挥着不可替代的作用,这里我就来讲讲简单利用SpringMVC实现文件的上传。这里我的配置是这样的:idea+maven+tomcat9+jdk8我也将该项目的Demo放到了git上,有兴趣的朋友可以看一看:入门用https://github.com/jjc123/SpringMVC_File_upload接下来我就来强调里面的细节问题:必须的内容在...

2018-09-27 11:19:03 348

原创 SpringMVC拦截器登陆控制

在系统中,经常需要再处理用户请求之前和之后执行一些行为,在Spring中有AOP来实现这个目的,在MVC中 也提供了Interceptor拦截器机制,用于请求的预处理和后处理。有两个方法,这里我就介绍HandlerInterceptor接口的方法。定义一个拦截器,实现HandlerInterceptor接口,实现他的三个方法:preHandle:执行Handler方法之前执行,可以对请求做出...

2018-09-24 17:27:43 147

原创 SpringMVC中的异常处理(全局异常处理对自定义异常类进行统一处理)

前言:WEB开发中,总会有一些不可预料的错误,对于一些课预测的异常,我们可以自定义一个异常类,然后再加载个全局异常处理器,对系统中出现的异常进行统一的处理。注意:当你在Springmvc配置文件中配置全局异常处理器的时候,只要如下配置即可: <!--只要该bean继承了HandlerExceptionResolver接口,这个类就会被SpringMVC作为一个全局异常处理器-->...

2018-09-23 12:25:55 1955

原创 idea+maven+SpringMVC注解开发validation校验

前言:在一个运行的web系统中,一定少不了校验的环节,所以自然而然衍生出了很多校验框架,这里我就来简单介绍一种Bean validation 的校验框架,是基于Hibernate的。我的demo栗子已经放到git上了:网上的都是讲解,不如一个实实在在的栗子来的直接https://github.com/jjc123/Validation_Demo参考:https://www.jiansh...

2018-09-22 15:38:33 1817

原创 取消idea的语法报错和idea查看maven依赖树

取消idea的语法报错:有时候真的很烦躁看着你的配置文件下下面一条波浪线,看看:于是乎我选择不要,太影响美观了,而且总给我一种我写错了的错觉:ctrl+alt+s打开settings页面:将Spelling下的Typo框框去掉打勾即可。idea查看maven依赖树打开pom.xml文件 ,然后右键,Diagrams然后选择Show Dependencies即可查看maven依赖树...

2018-09-22 14:57:37 1046

原创 控制器的请求映射和参数绑定

重点:首先会找到被@Controller修饰的方法加入到Bean中,然后被@RequestMapping注解的方法就是该处理器要执行的方法。请求映射的关键字:@RequestMapping作用:@RequestMapping实现将queryList方法和url进行映射,一个方法对应一个url。参数1:映射地址value将url绑定到对应的方法上 ,一般建议将url设置和方法写一样。...

2018-09-21 17:09:01 914

原创 配置SpringMVC中的视图解析器

视图解析器的作用:就是当 DispatcherServlet将ModelAndView传递给视图解析器的时候,将ModelAndView数据填充到相应的视图中,然后返回一个带有数据的视图给DispatcherServlet.视图解析其中有个抽象类:AbstractCachingViewResolver 它将解析过的视图进行缓存,下次再次解析的时候就会在缓存中直接寻找该视图。第一种视图:U...

2018-09-20 10:50:15 15496 2

原创 配置SpringMVC中的映射器和适配器

SpringMVC中的映射器到底是干什么的?根据DispatcherServlet传递过来的url地址,找到对应的Handler处理器。(Controller,可以理解为web中的servlet)适配器呢?处理器适配器按照他要求的规则:比如实现Controller接口。根据xml配置映射器的三种方法:第一种:BeanNameUrlHandlerMapping将Bean的name作为u...

2018-09-19 17:08:37 1460

原创 IDEA+maven+SpringMVC配置简单web项目

刚接触SpringMVC讲真的,看理论真的是一头雾水,不如实打实手撕一个简单Demo学得快。这里我就简单用SpringMVC配置一个小项目来理解一下SpringMVC到底是什么妖怪。这里我就写一个简单web的栗子,模拟SpringMVC的流程,最终显示页面的效果是这样的:http://localhost:8080/SpringMVC_test/http://localhost:80...

2018-09-19 14:40:53 1251

原创 Spring+Mybatis+Mysql+IDEA+Maven+log4j整合Demo

前言:背景:IDEA+JDK8+Mysql8前部分我已经学习了Spring和Mybatis两大框架。现在这篇文章就来讲讲,使用IDEA整合Spring+Mybatis,过程中用log4j来输出sql语句,以便查看软件与数据库之间的具体交流过程,而不是一个简简单单的返回结果。如:为了方便起见,栗子也只是简简单单的一个查询功能,主要的重点是:Spring+Mybatis+IDEA+log...

2018-09-18 12:36:29 404

原创 Spring事务的两种常用传播方式

为什么会有事务的传播方式呢? 因为有时候是有嵌套事务的存在的。 就比如买一书的时候你给加了事务(锁住一本书减库存,减余额),那如果买多本书呢? 可以在买多本书的方法上加事务。 这就形成了嵌套事务。使用propagation指定事务的传播方式, 即当前事务方法被另一个事务方法调用时如何使用事务。常用的有·两种方式·来实现嵌套事务的实现://默认情况下,即使用当前方法的事...

2018-09-15 16:28:26 4273

原创 Spring+Maven+jdbcTemplate+事务 实现图书买卖Demo

先来简单介绍下事务,我的理解就是 使得一系列对数据库的操作原子化。 举个栗子:你给别人转账,你的钱少了,但是别人的账户余额没有同时增加。或者你给别人转账,你的钱没少,别人账户余额增加了。分析: 转账扣钱是一个操作,收账增钱又是另一个操作。 如果中途出现错误,只实现了一部分操作,那么问题可想而知。 而事务的作用就是将两个操作粘合在一起,具有原子性。 只有两个都成功,才操作成功...

2018-09-15 15:26:33 561

原创 Spring+Maven+JdbcTemplate实现对mysql数据库操作

第一步导入需要的maven: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.8.RELEASE</version&

2018-09-15 11:08:14 1959

原创 AOP重用切入点表达式

第一步: 定义一个方法,用于声明切入点表达式。一般该方法为空,没有其他代码。 第二步: 使用@Pointcut声明切入点表达式:public class MynewAspect { @Pointcut("execution(public * calculator.CalculatorImpl.*(..))") public void decare(){} @Be...

2018-09-14 13:09:35 210

原创 AOP切面的优先级Order属性

如果有两个切面,那么谁先谁后怎么判断? 那如果我们要指定切面的执行顺序呢? 可以使用@Order注解指定切面的优先级,值越小优先级越高:举例: 两个切面类:@Order(2)@Aspect@Componentpublic class MyAspect { @Before("execution(public * calculator.CalculatorImpl.*(....

2018-09-14 12:36:02 8245

原创 Spring的AOP五大通知注解

通知注解 : 声明方法,在方法前加入通知注解,指定要拦截的对象信息 注意:* 代表任意修饰符号 任意值AOP五大通知注解:@Before 前置通知,在方法执行之前执行@After 后置通知,在方法执行之后执行(无论是否发生异常)还不能访问目标方法执行的结果@AfterRunning 返回通知,在方法正常结束后 返回结果之后执行 可以访问方法的返回值@AfterT...

2018-09-13 21:50:45 7170 2

原创 Spring+Maven+Aspectj的AOP实现对指定对象的切面拦截

首先进入Maven仓库的Aspectj项目,复制Aspectj需要的配置: https://mvnrepository.com/search?q=aspectj配置pom.xml:<!--spring上下文包,在加载spring配置文件时用到--> <dependency>

2018-09-13 18:29:36 1489

转载 Spring核心技术面向切面编程AOP

摘自知乎答案: 链接:https://www.zhihu.com/question/24863332/answer/48376158最近在学这方面的内容,读到的这段话我感觉说的很清楚了:这种在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。面向切面编程(AOP是Aspect Oriented Program的首字母缩写) ,我们知道,面向对象的特点是继承、...

2018-09-13 16:21:17 218

原创 Spring4新特性泛型依赖注入

什么叫做泛型依赖注入呢?就是带泛型的两个父类他们之间有引用关系,子类各自继承他们,子类之间彼此之间也会有父类间的引用关系。举例: 两个父类:之间有引用关系。package one;public class Respository<T> {}import org.springframework.beans.factory.annotation.Autowir...

2018-09-13 15:01:47 191

原创 Spring注解配置Bean以及解决Bean之间的关联关系

组件扫描: Spring能够从classpath自动扫描,查找特定注解的组件(Bean类)。 有四种特定组件:@Component 基本注解,标识受Spring管理的组件@Repository 标识持久层@Service 标识业务层组件@Controller 标识表现层组件注意: 其实这些注解没有硬性要求,只是约定俗成而已的。 就算你给持久层标识@Component也...

2018-09-13 14:00:02 889

原创 Spring之Bean的生命周期以及Bean后置处理器

注意: 在Bean的声明离设置init-method和destroy-method属性,为Bean指定初始化和销毁方法。1. 通过构造器或者工厂方法创建Bean实例2. 为Bean的属性设置值和对其他Bean的引用3. 调用Bean的初始化方法4. 使用Bean5. 关闭容器的时候 调用Bean的销毁方法举例: <bean id="getHello" cla...

2018-09-13 10:59:31 422

原创 Spring之SpEL动态赋值

spEL:如果是字面值,用spel的意义不大 动态赋值 语法:value="#{}"作用:可以调用指定类的静态方法或者静态属性可以引用其他Bean可以引用其他Bean的属性可以调用其他方法,还可以链式操作还支持算术运算法 还可以作字符串连接 还可以比较运算符等SpEL引用类的静态变量,或者静态方法,也可以引用其他Bean:类:static String...

2018-09-13 10:53:08 3636

原创 Spring+Maven+DBCP配置数据库连接

首先maven引入: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version></depend

2018-09-13 10:48:25 7793

原创 Spring的Bean作用域 scope属性指定Bean是否为单例对象

Bean作用域: 默认属性scope="singleton"表示容器初始化创建这一个Bean 单例的 Hello person1 = (Hello) applicationContext.getBean("helloSet1"); Hello person2 = (Hello) applicationContext.getBean("helloSet1"); System.out.pr...

2018-09-12 20:56:18 1077

原创 bean之间的继承和依赖关系

继承关系:bean配置之间的继承 使用bean的parent属性,指定继承哪个bean的配置 注意: 可以继承父Bean的属性配置,也可以覆盖从父Bean继承过来的配置xml文件配置:<bean id="helloSet1" class="hello.Hello" p:name="name" p:numberInt="12" p:numberDouble="3.14"..

2018-09-12 20:52:49 341

原创 Spring的自动装配

自动装配:autowire属性指定自动装配的方式,有三个值:1. byName2. byType 3. constructorbyName : 根据bean的名字和当前bean的setter风格的属性名进行自动装配 ,若有匹配的则自动装配,若没有不自动装配。<bean id="person" class="hello.Person" autowire="byN...

2018-09-12 20:47:40 278

原创 util独立Bean以及p命名空间为bean的属性赋值

使用util独立Bean 配置单例的集合bean,以供多个bean进行引用。(将属性放在外部,可供多个类应用,而不是一个具体的内部 相当于抽离代码) <util:list id="out"> <ref bean="helloSet"></ref> <ref bean="helloSet"&gt

2018-09-12 20:43:55 221

原创 Spring配置Bean的集合属性

Bean的集合属性: 通过一组内置的xml标签:例如<list> <set> <map>来配置集合属性。 指定list等标签内部还可以通过<value>指定简单的常量值,通过<ref>指定对其他Bean的引用,通过<bean>指定内置Bean的定义等.举例:List<bean id="person&qu

2018-09-12 20:42:23 386

原创 Spring中Bean之间引用的三种方法

方法1:外部Bean:ref属性。或者ref标签 <bean id="helloSet" class="hello.Hello"> <property name="name"><value>xx</value></property> </bean>

2018-09-12 20:33:33 4738

原创 Spring字面值以及包含特殊符号的处理方式

字面值value标签或者属性:可用字符串表示的值, 可以通过<value>元素标签或者value属性进行注入。 基本数据类型以及封装类,String等类型都可以采取字面值注入的方式。 举例:<bean id="helloSet" class="hello.Hello"> <property name="name">&lt

2018-09-12 20:28:37 1038

原创 Spring通过全类名(反射)配置Bean以及三种依赖注入

Spring通过全类名(反射)配置Bean特点:1. 基于xml文件的方式,2. 通过全类名反射,3. 依靠IOC容器,4. 依赖注入的方式:属性注入,构造器注入Bean类:package hello;public class Hello { String name; int numberInt; double numberDouble; ...

2018-09-12 20:24:18 5185

原创 Spring通过FactoryBean配置Bean

FactoryBean和BeanFactory有什么区别?摘自网络: Spring中有两种类型的Bean,一种是普通Bean,另一种是工厂Bean,即FactoryBean,这两种Bean都被容器管理,但工厂Bean跟普通Bean不同。BeanFactory:需要知道对象的一系列属性(通过XML配置),然后再构造对象,并对对象进行管理,如对象的生命周期,是否单例,以及复合对象(对象有其他...

2018-09-12 16:14:10 1436

原创 Spring通过工厂方法配置Bean

前言:Spring配置Bean的方法有很多,这里只介绍通过工厂方法配置Bean。 所谓工厂即含有批量的Bean,可根据传入的参数条件返回对应的Bean实例。工厂又分两种:静态工厂通过静态方法返回Bean实例。实例工厂通过实例方法返回Bean实例。区别两者: 前者配置Bean的时候是配置实例Bean,而不是静态工厂。 后者配置Bean的时候需要先配置实例工厂,然后根据传参来配...

2018-09-12 15:26:18 145

原创 线程调度之多线程循环打印ABCABC

参考:https://blog.csdn.net/qq_32655383/article/details/51660925线程类:package threadabc;public class ThreadPrint implements Runnable { private Object after; private Object now; priva...

2018-09-11 21:21:46 615 5

原创 java线程解决同步问题的5种方法

参考:https://www.cnblogs.com/goody9807/p/6522176.html背景:线程创建的两种方法: 1. 继承runnable接口传入Thread 实例对象作为单实例传递给Thread 所以创建多个线程共用一个实例对象,里面的属性也都是共享的。 2. 继承Thread 多线程工作原理: 线程1:操作步骤–工作内存–总内存。 线程2:操作步骤–...

2018-09-10 21:13:09 3589

原创 idea使用maven配置Spring实现简单hello world项目

首先使用idea**创造maven项目**:别人写的更详细https://blog.csdn.net/qq_27093465/article/details/63683873其次完善项目结构: src下的main目录创建两个子文件夹java:存放源码。resource:存放配置文件。重点: 将java文件夹设置为源文件夹: 右击Make Directory as 选择Sou...

2018-09-09 18:26:12 405

原创 Chrome浏览器快捷键,intellij-idea快捷键,Windows快捷键

浏览器快捷键:Chrome浏览器快捷键https://www.jianshu.com/p/95a6e8ee4819intellij-idea快捷键:http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/keymap-introduce.html

2018-09-09 13:01:29 835

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除