SSM框架
SSM的一些知识及学习历程
zzu_wlan
这个作者很懒,什么都没留下…
展开
-
MyBatis缓存
MyBatis提供了数据缓存支持,依据数据缓存的有效范围默认定义了一级缓存和二级缓存一级缓存该级缓存默认开启,不能关闭;该级缓存为SqlSession级别的缓存,也称为本地缓存;以下面为例。在同一 Session 里执行同一个查询两次,控制台日志只有一个查询以下4种情况将会导致该级缓存失效a、在不同SqlSession中查询数据;b、相同SqlSessio...原创 2020-03-02 11:42:28 · 137 阅读 · 0 评论 -
SpringMVC工作原理
具体工作流程:当客户端发出一个请求,首先被DispatcherServlet捕获(若该请求不经过DispatcherServlet,那么直接返回相应资源,非SSM)DispatcherServlet收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制。判断是否有相应的Handler方法。如果没有找到相应的解析器Handler,查看是否配置...原创 2020-03-02 02:54:08 · 224 阅读 · 0 评论 -
SpringMVC拦截器详述
在Spring配置文件中设置拦截器。<mvc:interceptors> <mvc:interceptor> <bean class="com.jd.interceptor.Interceptor"></bean> </mvc:interceptor></mvc:interceptors>若要配置拦截特定...原创 2020-02-28 10:54:23 · 147 阅读 · 0 评论 -
异常处理过程
我们可以直接在Controller 里创建 带有 @ExceptionHandler 注解的异常处理方法。@ExceptionHandler({ArithmeticException.class}) public String exception(Exception e) {//出現java.lang.ArithmeticException异常时交由该方法处理 System.out.p...原创 2020-02-27 21:48:08 · 175 阅读 · 0 评论 -
自定义视图执行过程
要自定义视图首先创建一个实现View接口的类,添加@Component注解。如下,@Componentpublic class ToView implements View{ public String getContentType() { return "text/html"; } public void render(Map<String, ?> model,...原创 2020-02-27 13:01:55 · 184 阅读 · 0 评论 -
InternalResourceViewResolver请求流程
当用户对SpringMVC应用程序发起请求时,这些请求都会被 DispatcherServle t处理,通过处理器找到最为合适的 HandlerMapping定义的请求映射中最为合适的映射,然后通过HandlerMapping找到相对应的Handler,然后再通过相对应的 HandlerAdapter 处理该Handler。返回结果是一个ModelAndView对象,当该ModelAndView对...原创 2020-02-26 22:15:40 · 795 阅读 · 0 评论 -
Controller中值返回页面的四种方法
Controller中值返回页面有四种方法。分别是使用ModelAndView,Map,Model和HTTPServletRequest。分为两大类。第一大类是使用ModelAndView。因为他的返回值是ModelAndView。方法:@RequestMapping("/userinfo/userInfoView.do")public ModelAndView userInfoVie...原创 2020-02-26 00:23:30 · 4248 阅读 · 0 评论 -
SessionAttributes注解
@SessionAttributes只能应用在类上;它用于将Map、ModelMap、Model或ModelAndView中的数据暂存到HttpSession中以使其可以在多个请求之间共用数据,注意它不支持HttpServletRequest@SessionAttributes除了可以通过value或names注解属性指定哪些属性放到Session中以外,还可以通过type注解属性进行指定...原创 2020-02-26 00:12:56 · 508 阅读 · 0 评论 -
数据格式化 及 类型转换和格式化同时使用问题
此外我们还可以使用注解数据格式化来实现数据类型转换。例,在vo类的变量声明上添加@DateTimeFormat(pattern="yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date birth;然后在Spring 的xml文件中配置<mvc:annotation-driven></m...原创 2020-02-25 23:00:54 · 315 阅读 · 0 评论 -
数据类型转换器——String转Date为例
Springmvc默认数据类型转换器并不能支持所有的类型转换,所以当我们需要某种他所不能支持的类型转换时,我们可以自定义创建数据类型转换器。例如。在学习过程中都会遇到的提交日期问题,前端传String,到后端我们将他变为Date对象。在提交下面这个表单时。我们输入的是String类型的数据。<form action="./userinfo/add.do"> <...原创 2020-02-25 22:17:45 · 460 阅读 · 0 评论 -
配置DispatcherServlet类时load-on-startup标签作用源码分析
我们在使用ssm时在 web.xml 中有如下配置 <servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>...原创 2020-02-18 01:05:26 · 216 阅读 · 0 评论 -
SSM框架下的请求执行过程源码分析
首先,我们发出的一个请求被传入到 web.xml 中的 DispatchServelt 中 <servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherSe...原创 2020-02-18 00:29:09 · 403 阅读 · 0 评论 -
MyBatis之动态SQL
使用myBatis的动态sql语句可以更加灵活的对数据库进行操作。例如上一篇博客里的 mapper 中有这样的代码 <select id="getUserName" resultType="java.lang.String"> select user_name from user_info where id=#{id} </select>根据 id ...原创 2020-02-13 02:02:30 · 127 阅读 · 0 评论 -
MyBatis实现
使用MyBatis方便对java中的SQL语句进行管理,能够帮助我们将SQL语句和Java代码分离,方便了后期因需求变动而对SQL语句进行修改。下面给大家演示一下MyBatis的实现。要实现我们需要MyBatis的jar包。下载地址https://github.com/mybatis/mybatis-3/releases首先在数据库中建立几条记录创建一个IUserInfo的接口,声...原创 2020-02-10 18:30:35 · 178 阅读 · 0 评论 -
定时器
Java中定时器用于在特定时间运行指定的Java程序,其实现方式有两种:TimerTask和Quartz,其中Quartz最为常用。首先我们要有架包。Quartz下载地址:http://www.quartz-scheduler.org/downloads/然后自定义继承QuartzJobBean抽象类的任务类import org.quartz.JobExecutionContex...原创 2020-02-10 12:28:13 · 93 阅读 · 0 评论 -
Spring框架中的JDK与CGLib动态代理
我们在使用Spring框架中的getBean();从容器中获取得到代理类时有时会出先这种错误org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'xx' available此时要明白为什么出错,我们需要理解Spring中JDK代理和CGlib代理的区别。JDK...原创 2020-02-10 10:54:46 · 408 阅读 · 0 评论 -
Spring事务及配置
事务是一系列的动作,一旦一个事务其中有一个动作出现错误,必须全部回滚,系统将事务中对数据库的所有已完成的操作全部撤消,滚回到事务开始的状态,避免出现由于数据不一致而导致的接下来一系列的错误。事务的出现是为了确保数据的完整性和一致性,事务管理是企业级应用程序开发中必不可少的技术,用来确保数据的完整性和一致性。声明式事务管理将事务管理代码从业务方法中分离出来,以声明的方式来实现事务管理,Sprin...原创 2020-02-07 14:36:06 · 117 阅读 · 0 评论 -
JDBCTemplate
JdbcTemplate是Spring JDBC的核心类,是Spring对JDBC的封装,目的是使JDBC更加易于使用。借助该类提供的方法可以很方便的实现数据的增删改查XML配置<bean class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataS...原创 2020-02-07 14:10:14 · 165 阅读 · 0 评论 -
JavaSpring数据库连接池
在系统中频繁的进行数据库连接的创建和释放是非常浪费计算机资源的行为,而数据库连接池能够有效的缓解这种行为。数据库连接池(Database Connection Pooling)是在程序初始化时创建一定数量的数据库连接对象并保存在内存中,应用成勋可以重复的使用这些数据库连接对象。在数据库连接池中有这样几个概念:最小连接数:即数据库连接池中初始化存在的数据库连接对象数目。若应用程序对数据库...原创 2020-02-07 13:45:34 · 765 阅读 · 0 评论 -
AOP中使用的注解 @Service @Aspect @component
@Service标注将这个类在扫描时注册到Spring容器管理@Aspect是将该类声明为切面类@component把该类实例化放入到spring容器中,@五种增强("execution(public 返回值 地址.*(..))")AOP实现的大致流程即为将目标方法的类通过@Service注册到Spring容器管理,以便之后生成代理对象通过@Aspect声明切面类,然后@c...原创 2020-02-06 11:57:44 · 2521 阅读 · 0 评论 -
AOP五种增强执行时机及@around增强注意事情
AOP的执行时机,一共有五个。分别为前置增强befor,后置增强after,返回后增强afterRunturning,异常后增强afterThorwing,环绕增强around正如他们的名字一样,前置增强是在目标方法执行之前执行,后置增强在目标方法执行之后执行,返回后增强在目标方法执行return之后执行,异常增强则是在目标方法抛出异常后执行,而环绕增强在它修饰的方法中可以同时实现以上所...原创 2020-02-06 11:32:16 · 2057 阅读 · 0 评论 -
Spring AOP @Befor为例 实现的两种方法:注解和XML配置
什么是AOP?AOP(Aspect-Oriented Programming)面向切面编程。可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。在我看来,这种方式的作用就相当于语文考试写作文,在写完一句话后你发现少了东西,要在其中添加几个字,然后你就在一个字的前面或后面拉了添加符号,写上了缺少的文字。在前面和后面添加这就对应了前置增强和后置增强,当然A...原创 2020-02-05 13:30:15 · 570 阅读 · 0 评论