
javaWeb与框架
张超帅
哈哈哈哈哈哈
展开
-
SpringBoot mybatis多数据源配置
DataSourceSwitch/** * @Author DGD * @date 2018/2/10. */@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD})public @interface DataSourceSwitch { DBTypeEnum value() default DBTyp...原创 2019-05-10 09:12:06 · 792 阅读 · 1 评论 -
mybaits错误解决:There is no getter for property named 'id' in class 'java.lang.String'
在使用mybaitis传参数的时候,如果仅传入一个类型为String的参数,那么在 xml文件中应该使用_parameter来代替参数名。也可以在mapper的接口中,给这个方法的参数加上@Param(value=“id”),这样就能在.xml中使用#{id,jdbcType=VARCHAR} 了。...原创 2018-08-20 17:04:23 · 14875 阅读 · 0 评论 -
[org.springframework.web.servlet.PageNotFound] (http-/0.0.0.0:8080-1) No mapping found for HTTP requ
一开始的配置web.xml <servlet> <servlet-name>mvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>...原创 2018-08-14 21:21:47 · 3069 阅读 · 0 评论 -
前端请求到controller发生中文乱码问题解决
在web.xml中加上以下这段<filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> ...原创 2018-08-06 01:26:59 · 2098 阅读 · 1 评论 -
maven项目中配置log4j2.xml
pom.xml中的配置 <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.6.2</...原创 2018-07-22 20:35:54 · 6538 阅读 · 0 评论 -
@RequestBody和Json之间的关系
在使用springmvc的时候,后台@RequestBody接受的是一个json格式的字符串,一定是一个字符串。 我们可以通过@RequestBody Map @RequestMapping(value="/queryAccountList.do",produces="application/json;charset=UTF-8") @ResponseBody publ...原创 2018-07-03 17:01:19 · 17846 阅读 · 1 评论 -
SpringMVC的注解
@RequestMapping(“/getRole/{id}”) {id}代表接收一个参数@PathVariable(“id”) 表示将获取这个在@RequestMapping中定义名称为id的参数,这样就可以在方法内获取这个参数了。原创 2017-11-14 23:26:49 · 261 阅读 · 0 评论 -
SSM框架中常问的知识点
SpringIoC: 举个例子,使用Socket socket=new Socket1();后,国家标准插座接口(Socket)就和插座1(Socket1)捆绑在一起了。这样就会有一个弊端,如果要使用其他的插座,就需要修改代码。 如果有其他更好的插座,岂不是要修改源码,一个大型互联网的对象成千上万个,如果需要不断修改,那么对系统的可靠性将是极大的挑战,Spring IoC可以解决这个问题。我们不原创 2017-10-15 19:10:52 · 4166 阅读 · 1 评论 -
Servlet
Servlet解决的问题: 服务器启动时或者第一次请求Servlet时初始化一个Servlet对象,然后用这个Servlet对象去处理所有客户端请求。服务器关闭时才销毁这个Servlet对象。这样省去了开辟与销毁Servlet的开销。Servlet会在服务器启动或者第一次请求该Servlet的时候开始生命周期,在服务器结束的时候结束生命周期。无论请求多少次Servlet,最多只有一个Servlet原创 2017-10-15 11:12:08 · 227 阅读 · 0 评论 -
监听器Listener
Listener是Servlet的另一个高级特性。Listener用于监听Java web程序中的事情,例如创建,修改,删除session,request,context等,并触发相应的事件。使用Listener需要实现相应的Listener接口。应该触发Listener事件的时候,tomcat会自动调用Listener的方法。编程者不需要关注tomcat怎么回调,只要实现这些方法就可以了。<lis原创 2017-10-15 10:40:36 · 198 阅读 · 0 评论 -
@RestController和@Controller的区别
使用@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面若返回json等内容到页面,则需要加@ResponseBody注解。如果你的代码写的如下:@Controller@RequestMapping(value = "/test",method = RequestMethod.GET)public class TestC...原创 2018-10-11 18:06:18 · 619 阅读 · 0 评论 -
mybatis之<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>
1.prefix:在trim标签内sql语句加上前缀。suffix:在trim标签内sql语句加上后缀。suffixOverrides:指定去除多余的后缀内容,如:suffixOverrides=",",去除trim标签内sql语句多余的后缀","。prefixOverrides:指定去除多余的前缀内容2.下面是一个往购物车表中插入数据的mybatis语句<insert id="...原创 2018-09-27 19:49:04 · 2198 阅读 · 0 评论 -
Invalid bound statement (not found),对应mapper的某个方法(getUserInfo)未找到
在mapper代理的开发中,程序员需要遵守一些规范,mybatis才能实现mapper接口的代理对象。它的规范如下:mapper.xml的namespace要写所映射接口的全称类名。mapper.xml中的每个statement的id要和接口方法的方法名相同mapper.xml中定义的每个sql的parameterType要和接口方法的形参类型相同mapper.xml中定义的每个sql的...原创 2019-04-08 17:18:08 · 1840 阅读 · 0 评论 -
springboot定时任务@Scheduled
使用步骤1.在springboot启动类上配置@EnableScheduling 这个一定要加上;否则,不会定时启动任务!2.在你的方法上添加@Scheduled@Scheduled中的参数说明:@Scheduled(fixedRate=2000):上一次开始执行时间点后2秒再次执行; @Scheduled(fixedDelay=2000):上一次执行完毕时间点后2秒再次执行; @Sch...原创 2018-09-30 17:48:07 · 1005 阅读 · 0 评论 -
解决IDEA中springboot整合mybatis中出现的Invalid bound statement(not found)的问题
IDEA对xml文件处理的方式不同,在Eclipse中到dao文件与mapper.xml文件只要在同一级目录下即可,但是在IDEA中,mapper.xml要放在resources目录下所以针对mybatis的xml文件,在idea中可以新建一个mapper文件夹,将xml文件放入其中,再修改mybatis-config.xml文件。...原创 2018-10-09 10:19:56 · 3845 阅读 · 0 评论 -
【SpringBoot】常用注解
@EnableAutoConfiguration启动自动装载:使用了这个注解之后,所有引入的jar的starters都会被自动注入。这个类的设计就是为starter工作的。@RestController这个注解专门用于写RESTful的接口的,里面集成了@Controller和@ResponseBody注解。@ResponseBody 这个注解会自动利用默认的Jackson将return的...原创 2018-09-29 15:07:49 · 208 阅读 · 0 评论 -
使用@Configuration注解来代替Spring的bean配置
下面是一个典型的Spring配置文件(application-config.xml):<beans> <bean id="orderService" class="com.acme.OrderService"/> <constructor-arg ref="orderRepository"/> ..转载 2018-09-28 16:36:20 · 816 阅读 · 0 评论 -
@ConfigurationProperties 和@PropertySource注解的使用
@ConfigurationProperties 是spring-boot中特有的注解。使用场景如下:假设application.properties 文件存在redis配置如下redis configredis.config.maxTotal=5000 redis.config.maxIdle=10 redis.config.maxWaitMillis=5000 redis.co...原创 2018-09-28 16:33:34 · 2899 阅读 · 0 评论 -
@Import注解
@Import注解就是之前xml配置中的import标签,可以用于依赖第三方包中bean的配置和加载在4.2之前只支持导入配置类在4.2,@Import注解支持导入普通的java类,并将其声明成一个beanpublic class DemoService { public void doSomething(){ System.out.println("ok"); ...转载 2018-09-28 16:05:36 · 1044 阅读 · 0 评论 -
mybatis 中的![CDATA[ ]]
在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[ ]]>来解决。<![CDATA[ ]]> 是什么,这是XML语法。在CDATA内部的所有内容都会被解析器忽略。如果文本包含了很多的"<“字符<=和”&"字符——...原创 2018-09-27 20:03:43 · 3034 阅读 · 0 评论 -
MyBatis的jdbcType的作用
Mybatis中的jdbcType的作用使用MyBatis框架做更新操作时,在该字段需要更新的内容为空时,就会出现1111错误,也就是无效的列类型,这个时候你就要使用jdbcType。至于什么时候要使用到javaType我还没遇到过,而且我也没有听说过要使用javaType。前天遇到一个问题 异常显示如下: 引用 Exception in thread "main" org.spr...原创 2018-09-27 19:50:49 · 2308 阅读 · 0 评论 -
过滤器Filter
一个FilterChain包括多个Filter。客户端请求request在抵达Servlet之前会经过FilterChain里的所有Filter,服务器响应response在从Servlet抵达客户端浏览器之前也会经过FilterChain里的所有Filter。一个Filter必须实现javax.servlet.Filter接口。Filter的生命周期:init()和destroy方法只会被调用一次原创 2017-10-15 10:21:53 · 531 阅读 · 0 评论 -
structs2的运行机制
一个请求在Struts2框架中的处理大概分为以下几个步骤(可查看源码:https://github.com/apache/struts): 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:Si原创 2017-10-15 01:08:10 · 272 阅读 · 0 评论 -
Hibernate和MyBatis的区别比较
第一章 Hibernate与MyBatisHibernate 是当前最流行的O/R mapping框架,它出身于sf.net,现在已经成为Jboss的一部分。 Mybatis 是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。开发工作量 Hibernate和MyBatis都有相应的代码生成工具。可以生成简单基本的DAO层方法。针对高级查询,Mybatis需要手动原创 2017-10-15 01:02:00 · 283 阅读 · 0 评论 -
Spring,SpringMVC,Struts是线程安全的吗
第一点,先理解为何线程不安全1 struts1的action是单例的,所以存在线程安全问题(struts2是多例的,不存在线程安全问题) 2 spring默认的注入也是单例的,所以也存在线程安全问题先理解为何会有线程不安全的问题,比如有一个类Person 有个属性是name,线程1修改了这个属性的name,要进行存入操作的时候,线程2又修改了这个name,这样线程1就存入了一个线程2修改过的数据了原创 2017-10-19 02:01:08 · 391 阅读 · 0 评论 -
Spring Bean
bean的4种作用域: 1.单例:它是默认的选项,在整个应用中,Spring只为其生成一个Bean的实例。线程不安全 2.原型:当每次注入,或者通过Spring IoC容器获取Bean时,Spring都会为它创建一个新的实例。线程安全 3.会话:在Web应用中,就是在会话过程中Spring只创建一个实例。 4.请求:在Web应用中使用,就是在一次请求中Spring会创建一个实例,但是不同请求原创 2017-10-19 01:54:13 · 228 阅读 · 0 评论 -
Spring和SpringMVC常用注解
注释配置相对于 XML 配置具有很多的优势: • 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作。如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO 的属性名、类型等信息,如果关系表字段和 PO 属性名、类型都一致,您甚至无需编写任务属性映射信息——因为这些信息都可以通过 Java 反射机制获取。 • 注释和 Java 代码位于一个文件中原创 2017-10-19 01:42:30 · 5097 阅读 · 0 评论 -
Spring中注解
1、@Component @Component 相当于通用的注解,当不知道一些类归到哪个层时使用,但是不建议。2、@Controller @Controller对应表现层的Bean,也就是Action1 @Controller2 @Scope("prototype")3 public class UserAction extends BaseAction<User>{4 ……5 }使用原创 2017-10-18 17:01:20 · 332 阅读 · 0 评论 -
spring技术内幕
Spring核心的模式实现,是为应用提供IoC容器和AOP框架。在spring中,Java EE的服务都被抽象到IoC容器中,并通过AOP进行有效的封装,因为依赖注入 的特性,这些复杂的依赖关系的管理被反转并交给容器,使复杂的依赖关系的管理从应用中解放出来。依赖反转:哪些方面的控制被反转了? 依赖的对象的获得被反转了。控制反转一个更好听的名字:依赖注入。 如何反转对依赖的控制:把控制权从具体的业原创 2017-09-22 15:47:45 · 820 阅读 · 0 评论 -
MyBatis知识点
mybatis-config.xml是mybatis核心配置文件,配置各种.xml文件。<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.d原创 2017-09-21 23:47:38 · 196 阅读 · 0 评论 -
对MVC的理解
1、MVC设计模式理解MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的转载 2017-10-07 11:19:01 · 910 阅读 · 0 评论 -
SpringMVC知识点
SpringMVC最简单的配置只需要三步: 1.在web.xml中配置Servlet 2.创建SpringMVC的xml配置文件 3.创建Controller和view作为SpringMVC入门,先以XML配置的方式,首先需要配置Web工程的web.xml文件。 在web.xml中配置servlet<?xml version="1.0" encoding="UTF-8"?><web-app原创 2017-09-23 09:30:55 · 274 阅读 · 0 评论 -
MyBatis映射器的两种方式实现增删改查
映射器是MyBatis中最重要,最复杂的组件,它由一个接口和对应的XML文件(或注解)组成。以下我们分别通过XML和注解两种方式实现增删改查。首先是XML的方式:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org原创 2017-08-14 08:45:07 · 575 阅读 · 0 评论 -
spring知识点
Spring IOC:Inverse Of Control反转控制 将我们创建对象的方式反转了 以前对象的创建是有我们开发人员自己维护,包括依赖关系也是自己注入。 使用了spring之后,对象的创建以及依赖关系可以由spring完成创建以及注入。DI:Dependency Injection依赖注入 实现IOC思想需要 DI做支持。 注入方式:se原创 2017-08-04 13:35:06 · 349 阅读 · 0 评论 -
spring的4种事务特性,5种隔离级别,7种传播行为
spring事务: 什么是事务: 事务逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败.事务特性(4种): 原子性 (atomicity):强调事务的不可分割. 一致性 (consistency):事务的执行的前后数据的完整性保持一致. 隔离性 (isolation):一个事务执行的过程中,不应该受到其他事务的干扰 持久性(durability) :事务一旦结束,原创 2017-10-04 11:11:35 · 83741 阅读 · 9 评论 -
Spring AOP
面向切面编程 切面:就是在一个怎么样的环境中工作,数据库的事务直接贯穿了整个代码层面,这就是一个切面。它能够在被代理对象的方法之前,之后,产生异常或者正常返回后切入你的代码,甚至代替原来被代理对象的方法,在动态代理中可以把它理解为一个拦截器。通知:切面开启后,切面的方法。 前置通知(before) 后置通知(after) 返回通知(afterReturning) 异常通知(afterThr原创 2017-10-15 00:50:01 · 202 阅读 · 0 评论 -
为什么要用spring,springMVC?
为什么要用SpringMVC?(SpringMVC与servlet的比较)框架都是很复杂的,但是它们的优点其实只有一个:就是让使用者只关心核心业务的开发,框架帮你屏蔽原有技术跟业务开发无关的各类技术问题。这里我们就要跳出springmvc的技术,到springmvc技术的源头servlet,先讲讲servlet吧,servlet的作用就是是接收浏览器传给服务端的请求(request),并将服务端处理原创 2017-10-23 22:36:51 · 3715 阅读 · 2 评论 -
Spring中事务的作用
事务就是对一系列的数据库操作进行统一的提交或回滚操作,比如说做一个转账功能,要更改帐户两边的数据,这时候就必须要用事务才能算是严谨的做法。要么成功,要么失败,保持数据一致性。如果中间有一个操作出现异常,那么回滚之前的所有操作。 这样有什么好处呢。 这样可以防止在一些意外(例如说突然断电)的情况下出现乱数据,防止数据库数据出现问题。这边加了钱,那边却还是一样的数,这就完了。要是开放一个网上交易的平原创 2017-10-22 09:54:15 · 6927 阅读 · 0 评论 -
SpringMVC中的controller
Spring MVC Controller默认是单例的:单例的原因有二: 1、为了性能。 2、不需要多例。1、这个不用废话了,单例不用每次都new,当然快了。 2、不需要实例会让很多人迷惑,因为spring mvc官方也没明确说不可以多例。从此可见,单例是不安全的,会导致属性重复使用。最佳实践: 1、不要在controller中定义成员变量。 2、万一必须要定义一个非静态成员变量时候,则通原创 2017-10-22 09:46:10 · 362 阅读 · 0 评论 -
MyBatis中的一对一,一对多关联
一对多 Mapper.xml4.3.2. Mapper.xml在UserMapper.xml添加sql,如下:<resultMap type="user" id="userOrderResultMap"> <id property="id" column="id" /> <result property="username" column="username" /> <原创 2017-10-22 09:36:51 · 632 阅读 · 0 评论