- 浏览: 31325 次
最新评论
文章列表
@[toc]
mybatis概念
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
mybatis和hibernate的比较
mybatis
hibernate
半自动化ORM框架
全 ...
@[toc]
一、 数据回写
数据回写:在做数据更新的时候服务端查询的数据自动填充到表单中。
1.1 、默认方式
controlller
@RequestMapping("/fun")
public String fun(String bookName,String author,Integer publicYear,Model model){
if ("xx".equals(bookName)&&"qw".e ...
Restful风格
RESTful是一种软件设计规范,是客户端和服务端进行数据交互的一个规范。 早期使用JSP页面开发网页时,数据交互基本都是通过表单提交,然后通过内置对象传递。当HTML5兴起,移动互联网兴起,网站后端服务,不仅要考虑PC端的网页,也要考虑移动端数据的展示、小程序、HTML5页面等。如果需要多个终端(Android、iOS、小程序、Pad、HTML5页面)共用一个后端,一般来说主流方案就是使用JSON进行传递。RESTful则规范了请求的URL,注意RESTful只是一 ...
概念
1.Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架
2.使用了MVC架构模式的思想,将web层进行职责解耦
3.基于请求驱动指的就是使用请求-响应模型
4.框架的目的就是帮助我们简化开发,
spring Web MVC也是要简化日常Web开发的
优点
性能比struts2 好
简单、便捷、易学
和spring无缝衔接【IOC,AOP】
使用约定优于配置
支持Resful
异常处理,国际化,数据验证,类型转换等
使用的人多,使 ...
<!-- 防止资源文件被spring MVC拦截-->
<mvc:resources mapping="/images/**" location="/images/" cache-period="31556926"/>
<mvc:resources mapping="/js/**" location="/js/" cache-period=" ...
@[toc]
AOP介绍
AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想
面向切面编程的几个核心概念
| ...
@[TOC]
自动注入
XML自动配置
XML自动配置通过四个注解实现,功能一样的
| 注解 | 描述
| ------ | ------ |
|@Component|一般用在身份不明确的组件上|
|@Service|一般用在service层|
|@Controller|一般用在控制层
|@Repository|一般用在数据库访问层
在applicationContext.xml文件中开启自动扫描
<?xml version="1.0" encoding=&quo ...
1、javaConfig注入
① 创建工程并导入相应jiar包
这里多加入两个包 前面的实现没有这两个包,而自动注入需要这两个jar包才能使用自动注入
②创建java配置,(javaConfig)并配置相关
/**
* java配置文件
* @Configuration 让当前类和applicationContext.xml作用等价
* @author Administrator
*
*/
@Configuration
public class javaConfig {
/** ...
IOC概念
IOC控制反转
是对象控制权的转移,从代码本身转移到外部容器,由spring容器来操作对象的创建、初始化、销毁工作。由spring控制对象的生命周期。
DI依赖注入
依赖注入是指程序运行过程中,遇到需要调用另一个对象协助时,无需在代码中闯将被调用者,而是依赖外部容器创建后传递给程序(依赖注入是最优秀的解耦方式),他是让spring的bean之间以配置文件方式组织咋一起。
两者之间的关系
loc是概念,DI是他的实现方式
XML配置方式
一、普通构造注入
1. 创建sprin ...
实例
1、创建项目
2、创建dao层
public interface IUserDAO {
public String say(String msg);
}
@Override
public String say(String msg) {
System.out.println("--->"+msg);
return "hello";
}
3、创建service层
public interface IUserService ...
博文来源:http://www.1b23.com
即时通讯:支持好友,群组,发图片、文件,消息声音提醒,离线消息,保留聊天记录
工作流模块--------------------------------------------------------------------------------- ...
一、Spring概述
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。他是为解决企业级应用开发复杂性创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以 ...
首先 ,引入log4j2的starter,将logback.xml改为log4j2的配置文件,文件格式自选吧,xml,json,yaml都可以。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
1、如果项目 ...
Set针对复杂对象去重问题
在项目中我们经常使用set,因其可以去重特性,平时使用较多的是基础数据类型,Set<Integer>, Set<Long>等,这些在使用中都没碰到什么问题。最近在项目中碰到自定义对象去重,用后
创建的对象去覆盖set中type相同的对象,于是想到Set这个集合类型,并且重写了自定义对象的equals()和hashCode()方法,但调试阶段发现结果并非所想。
以下代码是自定义的Bean:
@AllArgsConstructor
@T ...
排序算法
1、冒泡排序
function bubbleSort(arr){
var i = 0,j=0;
for(i=1; i<arr.length; i++){
for(j=0; j<=arr.length-i; j++){
var temp = 0;
// ">" 从小到大排序
// "<" 从大到小排序
if(arr[j] > arr[j+1]) ...