SpringMVC学习笔记(五)
摘要:注解配置MVC 使用配置类和注解联合使用的方式代替xml配置文件 在Servlet3.0环境中,容器会在类路径中查找实现javax.servlet.ServletContainerInitializer接口的类, 如果找到的话就用它来配置Servlet容器。 Spring提供了这个接口的实现,名为
阅读全文
SpringMVC学习笔记(四)
摘要:拦截器 拦截器需要实现HandlerInterceptor接口 然后配置到IOC文件中 在mvc:interceptors标签中配置拦截器bean或ref 这种方式会拦截所有路径 在mvc:interceptors标签中配置mvc:interceptor 这种方式可以配置拦截器拦截的路径范围 注意:
阅读全文
SpringMVC学习笔记(三)
摘要:RESTful REST:Representational State Transfer,表现层资源状态转移 资源 资源是一种看待服务器的方式,即,将服务器看作是由很多离散的资源组成。每个资源是服务器上一个 可命名的抽象概念。因为资源是一个抽象的概念,所以它不仅仅能代表服务器文件系统中的一个文件、
阅读全文
SpringMVC学习笔记(二)
摘要:SpringMVC获取请求参数 通过ServletAPI获取 将HttpServletRequest作为控制器方法的形参,此时HttpServletRequest类型的参数表示封装了当前请求的请求报文的对象 就是在参数列表中加一个HttpServletRequest类型的参数,和之前在学习AOP时,
阅读全文
SpringMVC学习笔记(一)
摘要:SpringMVC MVC MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分 M:Model,模型层,指工程中的JavaBean,作用是处理数据 JavaBean分为两类: 一类称为实体类Bean:专门存储业务数据的,如 Student、User 等 一类称为业务处理 Bean:指 S
阅读全文
Spring学习笔记(五)
摘要:声明式事务 JdbcTemplate JdbcTemplate配置 依赖 spring-orm会把jdbc和tx引入 tx指的是事务管理 <dependencies> <!-- 基于Maven依赖传递性,导入spring-context依赖即可导入当前所需所有jar包 --> <dependency
阅读全文
Spring学习笔记(四)
摘要:AOP 基于注解的AOP 结构 动态代理(InvocationHandler):JDK原生的实现方式,需要被代理的目标类必须实现接口。因为这个技术要求代理对象和目标对象实现同样的接口(兄弟两个拜把子模式) cglib:通过继承被代理的目标类(认干爹模式)实现代理,所以不需要目标类实现接口 Aspec
阅读全文
Spring学习笔记(三)
摘要:AOP 代理模式 需求:在核心业务代码外,添加其他代码,且重复调用 使用代理函数调用核心业务代码,达到在核心代码前后添加其他代码的目的。 静态代理: 1对1代理,每个类和每个函数都要写对应的代理 动态代理: 使用反射机制 jdk动态代理 必须有接口,最终生成的代理类在com.sun.proxy包下,
阅读全文
Spring学习笔记(二)
摘要:Spring配置文件引入外部属性 引入数据库和Druid的依赖 在配置文件中配置DataSource的bean 直接配置属性 <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="d
阅读全文
Spring学习笔记(一)
摘要:Spring Spring Framework 特性 非侵入式:轻量级,对应用程序本身的结构影响非常小,对领域模型可以做到零污染。 控制反转:IOC inversion of control,反转资源获取方向,不再自己创建资源,而是环境将资源准备好。 面向切面编程:AOP aspect orient
阅读全文
Mybatis学习笔记(四)
摘要:动态SQL 当需求是可能存在0到多个条件进行sql查询时,需要进行sql条件拼接。使用java过于繁琐,在mybatis有如下的解决方案。 1.使用if标签进行拼接 select * from table where 1=1 <if test=" name != null and name != '
阅读全文
Mybatis学习笔记(三)
摘要:获取自增主键 <insert id="func" useGeneratedKeys="true" keyProperty="id"> useGeneratedKeys表示获取自增主键 keyProperty表示放到哪里,一般放到传过来的实体类对应的属性中,所以执行前为null的主键对应属性,执行之后
阅读全文
Mybatis学习笔记(二)
摘要:CRUD: 增删改在接口的返回值可以是int也可以是void 查询必须设置结果集: resultType设置成java类(全限定名或别名) resultMap自定义映射,可以一对多或多对一 btw:当结果集与接口对应不上时,接口类在IDEA中是灰色的,所以在select的对应中应该也判断了结果集类型
阅读全文
Mybatis学习笔记(一)
摘要:Mybatis 是一个持久层框架 环境搭建 在IDEA中新建maven项目 然后在pom.xml添加依赖: 一共添加了三个依赖,mybatis、junit、mysql <dependencies> <dependency> <groupId>junit</groupId> <artifactId>j
阅读全文