JAVA
文章平均质量分 55
weixin_38626208
这个作者很懒,什么都没留下…
展开
-
Hello Struts2
Struts2可以提供了Web应用程序开发过程中的一些常见问题的解决方案–对来自用户的输入数据进行合法性验证–统一的布局–可扩展性–国际化和本地化–支持Ajax–表单的重复提交–文件的上传下载Struts2使用了一个过滤器作为控制器Struts2,HTML表单将直接映射到一个POJOStruts2中验证逻辑编写在Action中Struts2任何一个POJO都可以作为一个Act...原创 2018-11-22 23:49:10 · 138 阅读 · 0 评论 -
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 · 167 阅读 · 0 评论 -
Hibernate介绍、简单hibernate搭建
Hibernate是一个开源代码的对象关系映射框架,它对JDBC进行非常轻量级的对象封装,它将POJO与数据库表建立映射关系。是一个完全自动的ORM框架,hibernate会自动生成SQL语句,既可以用在Java的客户端程序使用,也可以在servlet/JSP的web应用中使用,它是在dao层使用的。与数据库交互操作。业务实体在内存中表现为对象,在数据库中表现为关系数据内存中对象之间的关联和继...原创 2018-11-06 00:06:37 · 91 阅读 · 0 评论 -
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 · 366 阅读 · 0 评论 -
缓存和对象的状态基本了解以及搭建测试架子
Session接口Session接口是hibernate向应用程序提供的操作数据库的最重要的接口,它提供了基本的保存、更新、删除和查询的方法Session是有一个缓存,又叫hibernate的一级缓存Session缓存是由一系列的Java集合构成,当一个对象被加入到Session缓存中,这个对象的引用就加入到了Java的集合中,以后即使应用程序中的引用变量不再引用对象,只要Session缓存...原创 2018-11-09 23:02:47 · 73 阅读 · 0 评论 -
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 · 9741 阅读 · 0 评论 -
Mybatis参数处理时#{}更丰富的用法
#{}更丰富的用法规定参数的一些规则javaType,jdbcType,mode(存储过程),numericScale,resultMap,typeHandler,jdbcTypeName,expresseionjdbcType需要某种特定的条件下被设置在我们数据为null的时候,有些数据库可能不能识别mybatis对null的默认处理oracle在保存null时会出错因为myba...原创 2018-10-24 20:45:10 · 148 阅读 · 0 评论 -
Mybatis 参数处理
1.传单个参数:Mybatis不会做特殊处理#{参数}取出参数值2.多个参数:Mybatis会做特殊处理多个参数会被封装成一个map#{}就是从map中获知指定的可以值key:param1…paramNvalue:传入的参数值为了方便起见,直接在查询的Java代码的属性名加@Param注解public Employee getEmpByIdAndLastName(@Param ("...原创 2018-10-24 17:20:52 · 92 阅读 · 0 评论 -
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 · 175 阅读 · 0 评论 -
Mybatis databaseIdProvider和mapper
根据不同的数据库厂商提供不同的SQL语句在全局配置文件中写入:支持oracle数据库厂商,作用就是数据库厂商的标识(驱动),Mybatis根据数据库厂商标识来执行不同的SQLMySQL,Oracle,SQL Server<databaseIdProvider type="DB_VENDOR"><property name="MySQL" value="mysql"/>...原创 2018-10-24 00:45:44 · 744 阅读 · 0 评论 -
Mybatis全局配置文件:environment
environments环境,mybatis可以配置多种环境environment配置一个具体的环境信息,需要要有transactionManger,dataSource,id是代表当前环境的唯一标识transactionManager:事务管理器type事务管理器的类型&lt;environments default="development"&gt;&lt;environment i...原创 2018-10-24 16:51:33 · 405 阅读 · 0 评论 -
spring bean的作用域
spring bean的作用域设置bean的作用范围,bean何时被创建,何时被销毁设置bean的作用域通过scope属性,该属性支持–singleton单例,在整个spring容器的生命周期中,该bean永远都是单例的何时生?容器创建时出生何时死?容器不死它就不死,容器销毁时才会销毁–prototype:何时生?当程序getbean,spring 就会创建它,以后就不管了它,何...原创 2018-11-13 21:44:57 · 89 阅读 · 0 评论 -
配置依赖关系全面解析
配置依赖关系全面解析DI分成:–设置注入:<property>–构造器注入:<constructor-arg>–接口注入无论哪个注入,都涉及到传入参数值参数值:–标量类型:(8个基本类型+string)用value属性或value子元素传入值 <bean id="dog" class="org.fkjava.spring.service.impl...原创 2018-11-13 23:02:28 · 244 阅读 · 0 评论 -
配置依赖关系全面解析
配置依赖关系全面解析DI分成:–设置注入:<property>–构造器注入:<constructor-arg>–接口注入无论哪个注入,都涉及到传入参数值参数值:–标量类型:(8个基本类型+string)用value属性或value子元素传入值 <bean id="dog" class="org.fkjava.spring.service.impl...原创 2018-11-14 00:10:21 · 292 阅读 · 0 评论 -
Spring-AOP
Spring-AOP为什么需要AOP:加入有方法A,B,C。。。都需要添加具有通用性质的横切处理,(比如事务控制,权限检查,日志。。。)如果不使用AOP,最容易想到的做法,需要2步:1)将 通用性质的横切处理定义一个方法2)依次修改所有的方法代码,增加调用通用方法可以不需要修改方法A,B,C。。的代码,这就是AOPAOP的分类:是按照修改的时机来划分静态AOP实现:AOP框架在编...原创 2018-11-20 00:17:07 · 74 阅读 · 0 评论 -
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 · 334 阅读 · 0 评论 -
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 · 168 阅读 · 0 评论 -
spring 零配置
以前非常流行使用XMl来配置后来流行来用注解来代替XML其实XML配置和注解都是一样的无论xml还是注解,它们都是提供配置,只是载体不同strut2的零配置:必须增加一个jar包 struts2-convention-plugin.jar(约定)<action name=""class=“”method=""><exception-mapping>异常机制&l...原创 2018-11-21 20:56:19 · 505 阅读 · 0 评论 -
spring的事务
事务是企业应用中最小的逻辑执行单元事务的特性:(ACID)-原子性-一致性:数据库事务提交之前和之后都是一致性-隔离性:事务的中间状态对于外界是隔离的-持续性:事务一旦提交,对数据库的修改将永远生效传统事务控制的问题持久化技术不同,做事务控制的API也会不同,事务控制代码也会随之改变事务控制代码需要放在service层完成,但我们将service与dao分离,目的为了service...原创 2018-11-21 00:34:00 · 103 阅读 · 0 评论 -
AOP的5种advice
advice 5种:beforeafter returning(成功)在目标方法成功之后织入advice可额外指定一个returning属性,该属性有2个作用:-advice方法可以通过该属性指定的值来访问目标方法的返回值-advice方法的声明该返回值类型时,限制目标方法的返回值必须为指定的类型,否则不会织入如果不想对目标方法的返回值进行限制,可将该返回值声明为Objectaft...原创 2018-11-20 22:55:39 · 2448 阅读 · 0 评论 -
协调作用域不同步的bean
singleton bean具有较好的性能,所以spring默认将bean当成singleton行为singleton bean只有一个实例,因此当有多个线程并发使用该bean时,它就会产生线程安全问题典型的,mvc框架中的action就必须使用prototype行为一般来说如果该bean中没有成员变量,那么该bean可以使用singleton beansingleton bean依赖pr...原创 2018-11-14 23:33:21 · 117 阅读 · 0 评论 -
获取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 · 330 阅读 · 0 评论 -
Facotorybean
它是spring提供的一个特殊接口实例:写一个通用的bean,该通用的bean可以读取任意类的、任意静态field的值Facotorybean需要有3个方法实现1.public object getObject() 返回工厂的产品2.getObjectType()返回工厂产品的类型3.boolean isSingleton()改方法返回产品是否为单例 <?xml versio...原创 2018-11-14 21:39:39 · 117 阅读 · 0 评论 -
实例化bean的3种方式
spring容器中可以使用3种方法实例化一个bean1.调用该bean的实现类的构造器2.调用工厂类的静态工厂方法factory-method指定工厂方法的名字class指定的是工厂类的类名如果工厂模式需要参数,请使用<constructor-args>传入3.调用实例工厂的实例工厂方法factory-method指定工厂方法的名字factory-bean 指定工厂的对...原创 2018-11-14 20:46:44 · 279 阅读 · 0 评论 -
spring的高级注入
spring的本质是通过xml去驱动Java代码的执行,xml配置和Java代码之间能够相互转化Java程序中还可能有其他类型语句:调用getter方法,调用普通方法,访问类或对象的field,而spring也为这种语句提供了对应的匹配调用getter方法:使用PropertyPathFactoryBean访问类或对象的filed值:FieldRetrievingFactoryBean普...原创 2018-11-18 17:11:42 · 154 阅读 · 0 评论 -
Mybatis typeAliases别名
typeAliases别名处理器< typeAliases>//typeAliases为某个Java类型起别名//type指定要起别名的类型全类名,默认别名为小写employee//alias可指定新的别名< typeAlias type="com.guigu.mybatis.Employee" alias="emp">< /typeAliases>...原创 2018-10-23 23:01:39 · 137 阅读 · 0 评论 -
Mybatis_settings标签运行时行为
在mybatis-config.xml中加入setting的配置//将数据库中last_name 映射为Java类中的lastName原创 2018-10-23 22:46:01 · 223 阅读 · 0 评论 -
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 · 1234 阅读 · 0 评论 -
Java中IO部分(四)
Java中IO部分(四)字符流字符输出流Writer类字符流适合处理中文,Writer类是字符输出流的处理类,这个类定义如下:public abstract class Writer entends Object implements Appendable,Closeable,Flushable,多了Appendable接口。在Writer类里面提供了 writer()方法,接收的类型都...原创 2018-10-20 14:12:30 · 84 阅读 · 0 评论 -
SpringMVC Hibernate-Validator的验证框架
Hibernate Validator是JSR30一个参考实现,除支持所有标准的校验注解外,还支持以下的扩展注解注解 功能说明@Email 电子邮件@Length 字符串的大小在指定范围内@NotEmpty字符串非空@Range元素必须在合适的范围内实现步骤:1)导入jar包:Hibernate-Validator包和Hibernate-Validator-annotat...原创 2018-10-22 23:11:46 · 191 阅读 · 0 评论 -
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 · 154 阅读 · 0 评论 -
SpringMVC(十二)annotation-driver
mvc:annotation-driver作用RequestMappingHandlerMappingRequestMappingHandlerAapter方法回调ExceptionHandlerResolver@RequestMapping@ExceptionHandler数据格式化@NumberFormat可对类似数字类型的属性进行标注二个互斥的属性-style:Number...原创 2018-10-22 22:18:15 · 718 阅读 · 0 评论 -
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 · 75 阅读 · 0 评论 -
SpringMVC数据绑定
DateBinder数据绑定(十)将请求参数映射到方法的入参位置ServletRequest反射的方式获取方法的入参提供的方法:1.conversionService数据类型转化,格式化2.validator数据的验证 年龄的验证3.BindingRest:被放置到request范围中,业务方法当中,绑定的结果直接在方法的入参加入BindingResult类型的入参即可...原创 2018-10-22 15:37:20 · 123 阅读 · 0 评论 -
SpringMVC(九)REST风格-员工管理系统
REST风格-员工管理系统原创 2018-10-22 13:28:25 · 251 阅读 · 0 评论 -
SpringMVC(八)视图,国际化,自定义视图及解析图
SpringMVC(七)视图视图的作用是渲染模型数据,将模型里的数据以某种形式呈现给用户视图对象由视图解析器负责实例化,由于视图是无状态的,所以他们不会有线程安全的问题。view是一个高度抽象的接口包括2个方法:getContentType()render(Map,httpsevletRequest,httpsevletResponse)常用的视图实现类internalResourc...原创 2018-10-22 12:00:41 · 163 阅读 · 0 评论 -
Java中的IO部分(三)
Java中的IO部分(三)File类不负责对文件的输入和输出处理,输入和输出是由输入流和输出流处理。包括字节流和字符流字节流和字符流的区别:字节流是原生的操作,字符流是经过处理的,在你进行网络数据传输,以及磁盘数据保存,所保存的支持的类型是字节流,而所有磁盘中的数据必须先读取到内存后才可以进行操作。内存里面会帮助我们将字节变成字符。字符更适合处理中文。字节流分成:inputStream,o...原创 2018-10-20 01:12:01 · 639 阅读 · 0 评论 -
Java中IO部分(二)
Java中IO部分(二)一、File类中读取文件信息File类中的读取文件新的方法判断路径是否是文件的方法:public boolean isFile();方法判断路径是否是目录:public boolean isDirectory();取得文件大小(字节):public long length();描述时间的是毫秒取得最后的修改日期:public long LastModified(...原创 2018-10-19 22:45:13 · 82 阅读 · 0 评论 -
SpringMVC框架(一)
SpringMVC框架(一)Spring为展现层提供了基于MVC设计的优秀的web框架SpringMVC和Structs2作用一致SpringMVC通过MVC注解,让POJO处理请求控制器无需实现任何的接口支持REST风格的URL请求扩展性和灵活性一、SpringMVC 框架的搭建1.加入jar包2.在web.xml中加入DispatcherServelt的配置3.加入Spri...原创 2018-10-21 12:29:36 · 95 阅读 · 0 评论 -
SpringMVC(二)
SpringMVC(二)@RequestMapping注解,@PathVariable映射url绑定的占位符,REST风格@RequestMapping注解SpringMVC使用@RequestMapping注解为控制器指定可以处理哪些URL请求在控制器的类定义及方法定义处都可使用注解注:如果一个注解,里面只有一个value值可以省略value,直接写这个值1.在类定义处:提供初步的请...原创 2018-10-21 14:09:20 · 61 阅读 · 0 评论