自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (1)
  • 收藏
  • 关注

原创 Hello Struts2

Struts2可以提供了Web应用程序开发过程中的一些常见问题的解决方案–对来自用户的输入数据进行合法性验证–统一的布局–可扩展性–国际化和本地化–支持Ajax–表单的重复提交–文件的上传下载Struts2使用了一个过滤器作为控制器Struts2,HTML表单将直接映射到一个POJOStruts2中验证逻辑编写在Action中Struts2任何一个POJO都可以作为一个Act...

2018-11-22 23:49:10 142

原创 structs2-使用filter作为控制器的MVC应用

MVC设计模式的概览实现MVC(Model -View- Controller(servlet/filter))在index.jsp页面中有超链接跳转到input.jsp,在input.jsp中表单添加数据,提交并显示在details.jsp页面中index.jsp页面中:<%@ page language="java" contentType="text/html; charset...

2018-11-21 22:39:06 171

原创 spring 零配置

以前非常流行使用XMl来配置后来流行来用注解来代替XML其实XML配置和注解都是一样的无论xml还是注解,它们都是提供配置,只是载体不同strut2的零配置:必须增加一个jar包 struts2-convention-plugin.jar(约定)<action name=""class=“”method=""><exception-mapping>异常机制&l...

2018-11-21 20:56:19 508

原创 spring的事务

事务是企业应用中最小的逻辑执行单元事务的特性:(ACID)-原子性-一致性:数据库事务提交之前和之后都是一致性-隔离性:事务的中间状态对于外界是隔离的-持续性:事务一旦提交,对数据库的修改将永远生效传统事务控制的问题持久化技术不同,做事务控制的API也会不同,事务控制代码也会随之改变事务控制代码需要放在service层完成,但我们将service与dao分离,目的为了service...

2018-11-21 00:34:00 105

原创 AOP的5种advice

advice 5种:beforeafter returning(成功)在目标方法成功之后织入advice可额外指定一个returning属性,该属性有2个作用:-advice方法可以通过该属性指定的值来访问目标方法的返回值-advice方法的声明该返回值类型时,限制目标方法的返回值必须为指定的类型,否则不会织入如果不想对目标方法的返回值进行限制,可将该返回值声明为Objectaft...

2018-11-20 22:55:39 2483

原创 Spring-AOP

Spring-AOP为什么需要AOP:加入有方法A,B,C。。。都需要添加具有通用性质的横切处理,(比如事务控制,权限检查,日志。。。)如果不使用AOP,最容易想到的做法,需要2步:1)将 通用性质的横切处理定义一个方法2)依次修改所有的方法代码,增加调用通用方法可以不需要修改方法A,B,C。。的代码,这就是AOPAOP的分类:是按照修改的时机来划分静态AOP实现:AOP框架在编...

2018-11-20 00:17:07 76

原创 spring -structs 2整合spring

spring -structs 2整合spring1)拷jar包2)配置Structs2核心控制器和配置文件先写web.xml,再写structs2.xml3)配置web应用在启动时自动创建Spring容器用ContextLoaderListener,实现了ContextInitialized(ServletContextEvent sce),在该方法new xmlwebapplica...

2018-11-19 20:58:53 338

原创 spring的高级注入

spring的本质是通过xml去驱动Java代码的执行,xml配置和Java代码之间能够相互转化Java程序中还可能有其他类型语句:调用getter方法,调用普通方法,访问类或对象的field,而spring也为这种语句提供了对应的匹配调用getter方法:使用PropertyPathFactoryBean访问类或对象的filed值:FieldRetrievingFactoryBean普...

2018-11-18 17:11:42 158

原创 协调作用域不同步的bean

singleton bean具有较好的性能,所以spring默认将bean当成singleton行为singleton bean只有一个实例,因此当有多个线程并发使用该bean时,它就会产生线程安全问题典型的,mvc框架中的action就必须使用prototype行为一般来说如果该bean中没有成员变量,那么该bean可以使用singleton beansingleton bean依赖pr...

2018-11-14 23:33:21 119

原创 获取bean的id,bean的生命周期

获取bean的id在某些情况下,项目需要在写bean类就知道bean的配置id两部1.让bean实现BeanNameAware的接口2.实现该接口中setBeanName的方法//spring会自动检查容器中的bean,如果发现了某个bean实现了BeanNameAware这个接口,spring就立即调用setBeanName方法//spring 容器调用这个方法时,它会把beanid...

2018-11-14 22:33:36 341

原创 Facotorybean

它是spring提供的一个特殊接口实例:写一个通用的bean,该通用的bean可以读取任意类的、任意静态field的值Facotorybean需要有3个方法实现1.public object getObject() 返回工厂的产品2.getObjectType()返回工厂产品的类型3.boolean isSingleton()改方法返回产品是否为单例 <?xml versio...

2018-11-14 21:39:39 122

原创 实例化bean的3种方式

spring容器中可以使用3种方法实例化一个bean1.调用该bean的实现类的构造器2.调用工厂类的静态工厂方法factory-method指定工厂方法的名字class指定的是工厂类的类名如果工厂模式需要参数,请使用<constructor-args>传入3.调用实例工厂的实例工厂方法factory-method指定工厂方法的名字factory-bean 指定工厂的对...

2018-11-14 20:46:44 281

原创 配置依赖关系全面解析

配置依赖关系全面解析DI分成:–设置注入:<property>–构造器注入:<constructor-arg>–接口注入无论哪个注入,都涉及到传入参数值参数值:–标量类型:(8个基本类型+string)用value属性或value子元素传入值 <bean id="dog" class="org.fkjava.spring.service.impl...

2018-11-14 00:10:21 293

原创 配置依赖关系全面解析

配置依赖关系全面解析DI分成:–设置注入:<property>–构造器注入:<constructor-arg>–接口注入无论哪个注入,都涉及到传入参数值参数值:–标量类型:(8个基本类型+string)用value属性或value子元素传入值 <bean id="dog" class="org.fkjava.spring.service.impl...

2018-11-13 23:02:28 254

原创 spring bean的作用域

spring bean的作用域设置bean的作用范围,bean何时被创建,何时被销毁设置bean的作用域通过scope属性,该属性支持–singleton单例,在整个spring容器的生命周期中,该bean永远都是单例的何时生?容器创建时出生何时死?容器不死它就不死,容器销毁时才会销毁–prototype:何时生?当程序getbean,spring 就会创建它,以后就不管了它,何...

2018-11-13 21:44:57 90

原创 Spring的组成,spring容器

spring的组成IOC 容器(Bean,ApplicationContext)AOP前端mvc整合 持久化整合springmvc spring datastruts JSF JDBC、ORM(hibernate、JPA、mybatis)Portlet 事务抽象CXFspring IOC依赖注入...

2018-11-13 21:16:41 169

原创 Spring javaEE应用分层,spring介绍,依赖注入

Java EE应用的分层前端层(HTML5、CSS3 JS(ES6.1))、JQuery、Bootstrap、EasyUI、AngularJS、VUI、React前端MVC层(struts 2、springMVC)web service|restful(CXF)中间层(spring)持久层(JDBC、Hibernate、Mybatis、JPA)索引层(lucene)Redis数据库层(o...

2018-11-12 21:48:47 371

原创 缓存和对象的状态基本了解以及搭建测试架子

Session接口Session接口是hibernate向应用程序提供的操作数据库的最重要的接口,它提供了基本的保存、更新、删除和查询的方法Session是有一个缓存,又叫hibernate的一级缓存Session缓存是由一系列的Java集合构成,当一个对象被加入到Session缓存中,这个对象的引用就加入到了Java的集合中,以后即使应用程序中的引用变量不再引用对象,只要Session缓存...

2018-11-09 23:02:47 75

原创 Hibernate介绍、简单hibernate搭建

Hibernate是一个开源代码的对象关系映射框架,它对JDBC进行非常轻量级的对象封装,它将POJO与数据库表建立映射关系。是一个完全自动的ORM框架,hibernate会自动生成SQL语句,既可以用在Java的客户端程序使用,也可以在servlet/JSP的web应用中使用,它是在dao层使用的。与数据库交互操作。业务实体在内存中表现为对象,在数据库中表现为关系数据内存中对象之间的关联和继...

2018-11-06 00:06:37 92

原创 Mybatis resultMap自定义结果映射

resultType与resultMap不能同时使用<mapper namespace="com.guigu.EmployeePlus"><resultMap type=com.guigu.Employee id="MyEmp"><id column="id" property="id">//对主键列进行定义//column指哪一列,pr

2018-10-28 22:05:29 1235

原创 Mybatis映射文件select 返回List

Java代码文件中public List<Employee> getEmpsByLastNameLike(String lastName)mapper.xml文件为:<select id="getEmpsByLastNameLike" resultType="com.guigu.mybatis.Employee">select*f

2018-10-24 22:28:40 9756

原创 Mybatis参数处理时#{}更丰富的用法

#{}更丰富的用法规定参数的一些规则javaType,jdbcType,mode(存储过程),numericScale,resultMap,typeHandler,jdbcTypeName,expresseionjdbcType需要某种特定的条件下被设置在我们数据为null的时候,有些数据库可能不能识别mybatis对null的默认处理oracle在保存null时会出错因为myba...

2018-10-24 20:45:10 155

原创 Mybatis 参数处理

1.传单个参数:Mybatis不会做特殊处理#{参数}取出参数值2.多个参数:Mybatis会做特殊处理多个参数会被封装成一个map#{}就是从map中获知指定的可以值key:param1…paramNvalue:传入的参数值为了方便起见,直接在查询的Java代码的属性名加@Param注解public Employee getEmpByIdAndLastName(@Param ("...

2018-10-24 17:20:52 93

原创 Mybatis全局配置文件:environment

environments环境,mybatis可以配置多种环境environment配置一个具体的环境信息,需要要有transactionManger,dataSource,id是代表当前环境的唯一标识transactionManager:事务管理器type事务管理器的类型<environments default="development"><environment i...

2018-10-24 16:51:33 406

原创 Mybatis映射文件-增删改查

以接口编程开始,首先建立一个增删改查的我接口类publlic interface EmployeeMapper{public Employee getEmpById(Interger id);//查询public void addEmpt(Employee employee);//增加public void deleteEmptById(Integer id);//删除public vo...

2018-10-24 16:50:07 180

原创 Mybatis databaseIdProvider和mapper

根据不同的数据库厂商提供不同的SQL语句在全局配置文件中写入:支持oracle数据库厂商,作用就是数据库厂商的标识(驱动),Mybatis根据数据库厂商标识来执行不同的SQLMySQL,Oracle,SQL Server<databaseIdProvider type="DB_VENDOR"><property name="MySQL" value="mysql"/&gt...

2018-10-24 00:45:44 750

原创 Mybatis typeAliases别名

typeAliases别名处理器< typeAliases>//typeAliases为某个Java类型起别名//type指定要起别名的类型全类名,默认别名为小写employee//alias可指定新的别名< typeAlias type="com.guigu.mybatis.Employee" alias="emp">< /typeAliases&gt...

2018-10-23 23:01:39 139

原创 Mybatis_settings标签运行时行为

在mybatis-config.xml中加入setting的配置//将数据库中last_name 映射为Java类中的lastName

2018-10-23 22:46:01 226

原创 Mybatis全局配置文件

properties标签来引入外部配置文件的内容<properties resource="cmdbconfig.properties'</properties >resource引入类路径下的资源url引入网路路径或者磁盘路径下的资源在cmdbconfig.properties文件中写入jdbc.Driver=jdbc.url=jdbc.name=jdbc.p...

2018-10-23 22:35:36 48

原创 MyBatis接口式编程

从面向接口的方面,修改Hello World程序首先先建立一个接口EmployeeMapper,在接口中写如下代码:public interface EmployeeMapper{public Employee getEmpById(Integer id);}EmployeeMapper.xml中的代码,其中namespace不再是自己写的 ,而是接口的全类名,将接口与配置文件进行绑定...

2018-10-23 22:14:32 231

原创 MyBatis 3框架介绍(一)

JDBC->Dbutils(QueryRunner)->jdbcTemplate:工具框架:整体解决方案以前是硬编码高耦合,把SQL语句写在Java代码中,采取ORM(Object relation mapping)框架javaBean----->DBRecordsHibernate 全自动ORM全映射,把(编写sql,预编译,设置参数,执行SQL,封装结果等过程全部变成...

2018-10-23 19:25:48 206

原创 SpringMVC(五)处理模型数据

Spring MVC提供了以下几种途径输出模型数据:-ModleAndView-Map 及Model-@SessionAttributes:-@ModelAttributeModelAndView处理模型数据控制器处理方法的返回值如果为ModelAndView,则即包含视图信息,也包含模型数据信息添加模型的数据-ModelAndView addObject(String attri...

2018-10-23 16:13:45 166

原创 SpringMVC AJAX支持

AJAX支持是指不提交表单的情况下,就可以与服务器进行交互的技术步骤:1.导入jar包,包括jackson-annotation,jackson-core,jackson-databinder2.建立一个页面叫做testRequestBody.jsp写入代码:<script type="text/javascript" src="scripts/jquery-1.9.1.min.j...

2018-10-23 16:11:54 147

原创 SpringMVC 获取国际化信息(JSTL view,java代码中,超链接可以选择的方式)

国际化:1.在页面获取:JSTL view先设置2个国际化资源文件,然后在springmvc.xml中进行配置(resoucebundlemessagesource bean进行配置)<fmt:message key=“国际化资源文件中对应的key”></fmt:message>见这个文章中的详细介绍(https://blog.csdn.net/weixin_386...

2018-10-23 15:29:20 271

原创 SpringMVC自定义拦截器

SpringMVC可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现HandlderInterceptor接口boolean preHandle();这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求request进行处理,如果ture,可以继续进行其他业务方法,如果false时,不需要处理接下来的业务方法-postHandle()这个...

2018-10-23 14:24:47 441

原创 SpringMVC 捕获错误消息

控制器业务方法获取错误消息BindingResult常用的方法:-FiledError getFiledError(String fileld)-ListgetFieldErrors()-Object getFiledValue(Sting fileld)-int getErrorCount(); public String testFormat(**@Valid User use...

2018-10-23 13:49:56 761

原创 SpringMVC Hibernate-Validator的验证框架

Hibernate Validator是JSR30一个参考实现,除支持所有标准的校验注解外,还支持以下的扩展注解注解 功能说明@Email 电子邮件@Length 字符串的大小在指定范围内@NotEmpty字符串非空@Range元素必须在合适的范围内实现步骤:1)导入jar包:Hibernate-Validator包和Hibernate-Validator-annotat...

2018-10-22 23:11:46 193

原创 SpringMVC 数据验证概念及JSR303验证

数据验证概念及JSR303验证JSR303验证@NULL@NOTNULL@MAX@PAST@Future要在spring中使用必须导入包validation-api.jarJSR303验证的使用流程1)要在spring中使用必须导入包validation-api.jar2)在POJO类中需要验证的属性上加上JSR303验证@Pastprivate Date birth;...

2018-10-22 22:56:38 157

原创 SpringMVC(十二)annotation-driver

mvc:annotation-driver作用RequestMappingHandlerMappingRequestMappingHandlerAapter方法回调ExceptionHandlerResolver@RequestMapping@ExceptionHandler数据格式化@NumberFormat可对类似数字类型的属性进行标注二个互斥的属性-style:Number...

2018-10-22 22:18:15 726

原创 SpringMVC(十一)自定义类型的转换器

自定义类型的转换器前端通过一个文本框描述一个用户信息(name,age)String-User流程:1.写一个类型转换器1)converter<S,T>S原来的类型,T目标类型2)converterFacotory:3)GenericConverter:StringToUserpublic class StringToUserConverter implements C...

2018-10-22 21:30:03 78

大数处理代码

大数的处理是这样子的算法,可见这个代码如此大数的处理是这样子的算法,可见这个代码如此

2018-10-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除