- 博客(131)
- 问答 (1)
- 收藏
- 关注
原创 SSM-SpringMVC-深入SpringMVC组件-上传文件
SSM-SpringMVC-深入SpringMVC组件-上传文件 SpringMVC上传文件时通过MultipartResolver(Multipart解析器)处理的,它是一个接口有两个实现类:CommonsMultipartResolver:依赖于Apache下的jakarta Common FileUpload项目解析Multipart请求,可以在各个Spring版本使用,需要导入第三方包实现StandardServletMultipartResolver:Spring3.1后的,不要到导入第
2021-04-12 11:40:11
242
原创 SSM-SpringMVC-深入SpringMVC组件-视图和视图解析器
SSM-SpringMVC-深入SpringMVC组件-视图和视图解析器 视图:展示给用户的内容 视图解析器:对视图进行解析,以定位真实视图视图 Spring MVC有很多视图,他们都实现了视图接口View的实现public interface View { //响应状态属性 String RESPONSE_STATUS_ATTRIBUTE = View.class.getName() + ".responseStatus"; //定义数据模型下取出变量路径
2021-04-12 10:05:30
504
1
原创 SSM-SpringMVC-深入SpringMVC组件-数据模型
SSM-SpringMVC-深入SpringMVC组件-数据模型 ModelAndView有一个类型为ModelMap的属性model,而ModelMap继承LinkedHashMap<String,Object> ,因此可以存放各种键值对,Spring还创建了ExtendedModelMap,它实现了数据模型定义Model接口,且派生了关于数据绑定的类,BindingAwareModelMap...
2021-04-12 10:04:19
228
原创 SSM-SpringMVC-深入SpringMVC组件-验证表单
SSM-SpringMVC-深入SpringMVC组件-验证表单使用JSR303注解验证输入内容 Spring 提供对Bean的功能校验,通过注解@Valid标明那个Bean需要开启注解式的验证。在javax.validation.constraints.*中定义了一系列JSR303规范:注解详细信息@Null被注释的元素必须为 null@NotNull被注释的元素必须不为 null@AssertTrue被注释的元素必须为 rue@AssertFalse
2021-04-09 16:43:31
179
原创 SSM-SpringMVC-深入SpringMVC组件-拦截器
SSM-SpringMVC-深入SpringMVC组件-拦截器拦截器的定义 需要实现org.springframework.web.servlet.HandlerInterceptor接口,该接口有三个方法:preHandle:在处理器之前执行的前置方法,返回一个布尔值,会影响后面SpringMVC的流程postHandle:处理器之后执行的后置方法,处理器的逻辑完成后运行它afterCompletion:无论是否产生异常都会渲染视图后执行方法拦截器的执行流程[外链图片转存失败,源站
2021-04-09 15:51:27
130
原创 SSM-SpringMVC-深入SpringMVC组件-保存并获取属性参数
SSM-SpringMVC-深入SpringMVC组件-保存并获取属性参数 需要获取HTTP的request对象或者session对象中的数据,有时需要保存对应的数据到这些对象中或者获取,SpringMVC提供三个注解来支持这个功能:@RequestAttribute:获取Http的请求request对象属性值,用来专递给控制器的参数@SessionAttribute:在HTTP的会话Session对象属性值中,用来传递给控制器的参数@SessionAttributes:可以配置一个字符串数组,
2021-04-09 15:04:08
126
原创 SSM-SpringMVC-深入SpringMVC组件-重定向
SSM-SpringMVC-深入SpringMVC组件-重定向实现重定向功能:@RequestMapping("/addRole")//Model为重定向数据模型,Spring MVC会自动初始化它public String addRole(Model model,String roleName,String note){ Role role=new Role(); role.setRoleName(roleName); role.setNote(note); //插
2021-04-09 10:55:33
148
原创 SSM-SpringMVC-深入SpringMVC组件-控制器接收各类请求参数
SSM-SpringMVC-深入SpringMVC组件-控制器接收各类请求参数接受普通请求参数通过参数名称和 HTTP 请求参数 名称保持 致来获取参数,如果不一致是没法获取到的,这样的方式允许参数为空。 @RequestMapping("/commonParams”") public String ModelAndView commonParams(String roleName,String note){ System.out.println(roleName);
2021-04-09 10:54:04
190
转载 RestFul和控制器
RestFul和控制器控制器:控制器负责提供访问应用程序的行为,通常通过接口定义或者注解定义两种方式控制器负责解析用户的请求并将其转换为一个模型在SpringMVC中一个控制器类可以包含多个方法在SpringMVC中,对Controller的配置方法有很多种实现Controller接口Controller接口源码:@FunctionalInterfacepublic interface Controller { @Nullable ModelAndView handl
2021-04-07 15:53:46
192
转载 第一MVC程序-注释版
第一MVC程序-注释版创建一个新的MODEL项目,添加web支持Maven存在过滤问题所以:<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</includ
2021-04-07 11:02:28
117
转载 第一MVC程序-配置版
第一MVC程序-配置版 在IDEA创建Maven项目,然后导包: <dependencies> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybati
2021-04-07 10:14:23
121
原创 SSM-SpringMVC-SpringMVC开发流程详解-视图渲染
SSM-SpringMVC-SpringMVC开发流程详解-视图渲染 Spring MVC 默认使用JstlView进行渲染,将查询出来的模型绑定到JSTL模型中,可以把数据模型在JSP中读出展示,SpringMVC还存在着大量的视图可供使用。 使用roleDetails的视图名,根据配置,它会使用/WEB-INF/jsp/roleDetails.jsp去响应<%@ page contentType="text/html;charset=UTF-8" language="java" %>
2021-04-06 11:23:32
348
原创 SSM-SpringMVC-SpringMVC开发流程详解-控制器的开发
SSM-SpringMVC-SpringMVC开发流程详解-控制器的开发 控制器是SpringMVC核心内容,一般分三步:获取请求参数处理业务逻辑绑定模型和视图获取请求参数通过@RequestParam注解方式获取:@Request\Mapping(value="/index2",method=RequestMethod.GET)public ModeAndView index2(@RequestParam("id") Long id){ System.out.println
2021-04-06 10:28:13
145
原创 SSM-SpringMVC-SpringMVC初始化-使用注解配置方式初始化
SSM-SpringMVC-SpringMVC初始化-使用注解配置方式初始化 在Servlet3.0后规范允许取消web.xml配置,使用注解方式即可,所以Spring3.1后提供了注解的方式。使用方法:继承一个名为:AbstractAnnotationConfigDispatcherServletInitializer类,实现定义的方法即可import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatche
2021-04-06 09:17:56
297
原创 SSM-SpringMVC-SpringMVC初始化-初始化映射请求上下文
SSM-SpringMVC-SpringMVC初始化-初始化映射请求上下文 映射请求上下文是通过DispatcherServlet初始化的,根据自己的需要配置启动时初始化,或者等待用户第一次请求时进行初始化。在WEB工程中没有注册ContextLoaderListener,这时DispatcherServle就会在其初始化对SpringIOC进行初始化选择什么时候初始化: 大部分情况下,让DispatcherServle在服务器启动期间就完成SpringIoc容器初始化,可以在WEB容器刚开始就
2021-04-03 14:25:19
317
原创 SSM-SpringMVC-SpringMVC初始化-初始化Spring IOC上下文
SSM-SpringMVC-SpringMVC初始化-初始化Spring IOC上下文 这里初始化会涉及两个上下文初始化,只是映射请求上下文是基于SpringIOC上下文扩展出来,以适应JAVAWEB工厂的需要初始化Spring IOC上下文 JavaWeb容器为其生命周期中提供ServletContextListener接口,该接口可以在Web容器初始化和结束期中执行一定的逻辑,说白了,通过它可以使得在DispatcherServlet初始化前可以完成SpringIOC容器的初始化,也可以在结
2021-04-03 10:39:55
159
原创 SSM-SpringMVC-MVC设计概述
SSM-SpringMVC-MVC设计概述MVC设计概述 在许多应用中,前端,PHP,.NET等语言都应用MVC设计,根本原因是在于解耦各个模块。Spring MVC的架构 Spring MVC最大的特点就是结构松散,几乎可以在SpringMVC中使用各类视图,如JSON,JSP,XML等,能满足手机端,页面段,平板电脑端的各个请求,SpringMVC组件与流程 核心在于其流程,它是基于Service的技术,提供核心控制器DispatcherServlet和相关组件,并制定了松散的
2021-04-03 10:15:32
132
原创 SSM-Spring-数据库事务管理-在Spring+MyBatis组合中使用事务
SSM-Spring-数据库事务管理-在Spring+MyBatis组合中使用事务目录图:文件作用备注Test.java程序入口从这里开始测试程序RoleMapper.javaMybatis接口文件Role.javaPOJO文件POJO实体类RoleListService.java角色列表操作接口列表插入操作RoleListServicelmpl.java角色列表操作接口实现类RoleService.java角色服务接口
2021-04-02 10:25:40
176
原创 SSM-Spring-数据库事务管理-选择隔离级别和传播行为
SSM-Spring-数据库事务管理-选择隔离级别和传播行为 选择隔离级别的出发点:一致性和性能选择隔离级别 大部分情况会选着读写提交的方式设置事务,有助于提高提高并发,又压制脏读,但对一致性还存在问题。使用@Transactional方式进行配置:@Autowriedprivate RoleDao =null;//设置方法为读写提交的隔离级别@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation
2021-04-01 15:22:53
227
原创 SSM-Spring-数据库事务管理-数据库的相关知识
SSM-Spring-数据库事务管理-数据库的相关知识数据库事务ACID的特性 数据库事务正确执行的 个基础要素是:原子性:整个事务的所有操作,要么全部完成,要么都不完成,不可能停留在中间某个环节,事务执行发送错误,会被回滚到开始前的状态一致性:一个事务可以改变封装状态,事务必须始终保持系统处于一致状态隔离性:两个事务之间的隔离程度(难理解)持久性:事务完成后,该事务对数据库所做的更改便持久保存在数据库之中,不会被回滚丢失更新 当数据库在一个事务的环境中运行,多个事务的并发会产生
2021-03-31 17:19:28
107
原创 SSM-Spring-数据库事务管理-声明式事务
SSM-Spring-数据库事务管理-声明式事务 Spring的声明式事务顾名思义就是采用声明的方式来处理事务。这里的声明指的是配置文件中的声明。用配置文件中声明的事务来代替代码式的处理事务。 编程式事务允许自定义事务接口,TransactionDefinition,它可以由XML和注解进行配置。Transaction的配置项配置项含义备注value定义事务管理器它是SpringIOC容器里的一个Bean id,这个Bean需要实现接口PlatformTransact
2021-03-31 15:57:42
175
原创 SSM-Spring-数据库事务管理-编程式事务
SSM-Spring-数据库事务管理-编程式事务 以代码的方式管理事务,事务由开发者通过代码来实现,需要使用一个事务定义类接口 TransactionDefinition,他有一个默认实现类DefaultTransactionDefinition:ApplicationContext ctx=new ClassPathXmlApplicationContext("spring-cfg.xml");JdbcTemplate jdbcTemplate=ctx.getBean(JdbcTemplate.c
2021-03-31 11:12:15
177
原创 SSM-Spring-数据库事务管理-Spring数据库事务管理器设计
SSM-Spring-数据库事务管理-Spring数据库事务管理器设计 Spring中数据库事务是通过PlatformTransactionManager进行管理,在jdbcTemplate的源码中,知道单凭它自身是不能支持事务的,能支持事务的是TransactionTemplate模板,它是Spring中提供的事务管理器的模板。 Spring中,有多种事务管理器:在PlatformTransactionManager接口中,代码如下public interface PlatformTrans
2021-03-31 10:39:07
160
原创 SSM-Spring-MybatisSpring项目-配置MapperFactoryBean
SSM-Spring-MybatisSpring项目-配置MapperFactoryBean MapperFactoryBean可以通过配置来实现需要的Mapper,使用Mapper接口编程方式可以有效的在你的逻辑代码中擦除SqlSessionTemplate,这样代码就能按照面向对象的规范进行编写了。<bean id="roleMapper" class="org.mybatis.spring.mapper.MapperFactoryBean"> <!--RoleMappe
2021-03-30 16:33:45
529
原创 SSM-Spring-MybatisSpring项目-配置MapperFactoryBean
SSM-Spring-MybatisSpring项目-配置MapperFactoryBean MapperFactoryBean可以通过配置来实现需要的Mapper,使用Mapper接口编程方式可以有效的在你的逻辑代码中擦除SqlSessionTemplate,这样代码就能按照面向对象的规范进行编写了。<bean id="roleMapper" class="org.mybatis.spring.mapper.MapperFactoryBean"> <!--RoleMappe
2021-03-30 16:33:19
160
原创 SSM-Spring-MyBatisSpring项目-配置SqlSessionTemplate组件
SSM-Spring-MyBatisSpring项目-配置SqlSessionTemplate组件 是一个线程安全的类,确保每个线程使用的SqlSession唯一且不冲突。提供一系列增删改查功能,使用前需要配置: <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg ref="SqlSesstionFactory"><
2021-03-30 14:48:26
601
原创 SSM-Spring-MyBatisSpring项目-配置SqlSessionFactoryBean
SSM-Spring-MyBatisSpring项目-配置SqlSessionFactoryBean 从SqlSessionFactoryBean类中可以得出,它几乎可以配置所有有关Mybatis的组件,且提供对应setter方法让Spring去设置它,如下: <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"> <property name="url" value="jd
2021-03-30 14:47:40
1458
1
原创 SSM-Spring-Spring和数据库编程-JDBC代码时空的解决方案
SSM-Spring-Spring和数据库编程-JDBC代码时空的解决方案-jdbcTemplate jdbcTemplate是Spring针对JDBC代码失控提供的解决方案,在这个方案中体现了Spring框架的主导思想:给予常用技术提供模板化的编程,减少开发者的工作量配置: <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="d
2021-03-30 09:33:13
87
原创 SSM-Spring-Spring和数据库编程-配置数据库资源
SSM-Spring-Spring和数据库编程-配置数据库资源使用简单的数据库配置 Spring提供一个类SimpleDriverDataSource,它不支持数据库连接池,可以通过XML配置的方式配置它 <bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource"> <property name="driver" value="com.mys
2021-03-29 16:34:39
106
原创 SSM-Spirng-面向切面编程-使用XML配置开发SpringAOP
SSM-Spirng-面向切面编程-使用XML配置开发SpringAOP XML需要引入AOP命名空间,AOP可配置元素:AOP 配置元素用途备注aop:advisor定义AOP的通知器老方式,少用aop:aspect定义一个切面aop:before定义前置通知aop:after定义后置通知aop:around定义环绕通知aop:after-retuming定义返回通知aop:after-throwing定义异常通知
2021-03-29 14:52:05
135
原创 SSM-Spirng-面向切面编程-使用@AspectJ注解开发SpringAoP
SSM-Spirng-面向切面编程-使用@AspectJ注解开发SpringAoP 使用@AspectJ注解的方式已经成为了主流。选择切点 spring是方法级别的AOP框架,主要是以某个类的某个方法作为切入点,用动态代理的理论就是,要拦截哪个方法植入对应的AOP通知//创建一个接口public interface RoleService { public void printRole(Role role);}//实现类public class RoleServiceImpl
2021-03-27 14:27:43
231
原创 SSM-Spirng-面向切面编程-SpringAop基本概念
SSM-Spirng-面向切面编程-SpringAop基本概念 Aop是通过动态代理模式,管控各个对象操作切面环境,管理包括日志,数据库事务等操作面向切面编程的术语切面(Aspect):能在被代理对象的方法之前,之后,产生异常或者返回正常值之后切入代码,甚至代替原来被代理对象的方法,在动态代理中可以理解成一个拦截器通知(Adice):是切面开启后,切面的方法。根据在代理对象真实方法调用前,后的顺序和逻辑区分。前置通知(before):在动态代理反射原有对象方法或执行围绕通知前执行的通知功能
2021-03-26 14:57:18
164
原创 SSM-Spring-Spring装配Bean-使用Spring表达式(Spring EL)
SSM-Spring-Spring装配Bean-使用Spring表达式(Spring EL) Spring EL功能:使用Bean的id引用Bean调用指定对象的方法和指定对象的属性进行运算提供正则表达式进行匹配集合配置Spring EL相关类ExpressionParser接口:一个表达式解析接口Spring EL还支持变量解析,需要用到一个接口EvaluationContext,他有一个实现类StandardEvaluationContextBean的属性和方法 使用
2021-03-24 16:30:35
181
原创 SSM-Spring-Spring装配Bean-Bean的作用域
SSM-Spring-Spring装配Bean-Bean的作用域Spring提供了4种作用域:单例(singleton):默认选项,在整个应用中,Spring只为其生成一个Bean的实例原型(prototype ):每次注入,或通过Spring IOC容器获取Bean时,Spring都会为它创建一个新对象会话(session):在WEB应用中使用,在会话过程中spring创建一个实例请求(request ):在WEB应用中使用,在一次请求中Spring会创建一个实例...
2021-03-24 15:28:23
155
原创 SSM-Spring-Spring装配Bean-条件化装配Bean
SSM-Spring-Spring装配Bean-条件化装配BeanSpring中提供了@Conditional注解实现条件化是否装配bean,这样可以根据条件动态的装配bean;要判定@Conditional 注解是否该装配bean还需要Condition 接口配合,我们只须实现 Condition 接口,重写matches 方法;根据matches方法返回的布尔值进行判定@Conditional是否需要装配bean//实现接口Conditionpublic class DataSourceC
2021-03-24 15:13:16
124
原创 SSM-Spring-Spring装配Bean-加载属性(properties)文件
SSM-Spring-Spring装配Bean-加载属性(properties)文件 使用properties属性文件可以减少硬编码,比如修改环境只需要修改配置文件就可以了,有效提高开发人员的便利性,在Spring中可以通过注解或者XML的方法进行加载属性文件使用注解的方式加载属性文件 Spring 提供注解@PropertySource来加载属性文件,他的配置项:name:字符串,配置这次属性配置的名称value:字符串数组,配置多个属性文件ignoreResourceNotFound
2021-03-24 14:56:00
274
原创 SSM-Spring-Spring装配Bean-装配混合使用
SSM-Spring-Spring装配Bean-装配混合使用 Spring 同时支持两种方式的装配,可以自由选择,无论是注解还是XML方式,目的都是将Bean装配到Spring容器中,通过Spring容器去管理他们。 例如数据库池,DBCP数据库连接池是第三方定义的,我们没有办法给第三方加入注解,但可以选用XML方式<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property n
2021-03-24 14:19:58
84
原创 SSM-Spring-Spring装配Bean-装配混合使用-使用Profile
SSM-Spring-Spring装配Bean-装配混合使用-使用Profile 解决在不同环境中进行切换的需求,如开发人员与测试人员使用两套不一样的环境使用注解@Profile配置 使用@Profile配置两个数据库连接池,一个用于开发,一个用于测试@Componentpublic class ProfileDataSource { //开发环境 @Bean(name="devDataSource") @Profile("dev") public Data
2021-03-24 14:16:30
173
原创 SSM-Spring-Spring装配Bean-通过注解装配Bean-注解自定义Bean的初始化和销毁方法
SSM-Spring-Spring装配Bean-通过注解装配Bean-注解自定义Bean的初始化和销毁方法 主要运用注解@Bean的配置,注解@Bean不能使用在类的标注上,它主要使用在方法上,@Bean配置包含4个项:name:是一个字符串数组,允许配置多个BeanNameautowire:标志是否是一个引用的Bean对象,默认值是Autowire.NOinitMethod:自定义初始化方法destroyMethod:自定义销毁方法 这样一个Spring Bean就可以注册到容器中,
2021-03-23 15:00:13
161
原创 SSM-Spring-Spring装配Bean-通过注解装配Bean-使用@Bean装配Bean
SSM-Spring-Spring装配Bean-通过注解装配Bean-使用@Bean装配Bean @Component 和 @Bean 是两种使用注解来定义bean的方式。@Component只能注解到类上,不能注解到方法上。大部分的开发都要引入第三方的包,且没有源码,这时候无法使用@Component注解。 Spring给予一个注解@Bean,它可以注解到方法上,并且将方法返回的对象作为Spring的Bean存放在IOC容器中。@Bean(name="dataSource")public Da
2021-03-22 17:18:00
276
空空如也
Maven打包,这是什么一个情况??
2021-07-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人