Java EE
林敏锐丶
驽马十驾 功在不舍
展开
-
ssm 开发经验 mybatis CRUD 更新数据模板
效果 22:55:42.237 [main] DEBUG product.dao.ProductTypeDao.updateNode - ==> Preparing: update classes SET name=?, modifiedTime=now() WHERE id = ? 22:55:42.279 [main] DEBUG product.dao.ProductTypeD...原创 2019-06-26 23:07:53 · 203 阅读 · 0 评论 -
Spring 进阶(9)访问资源(1)
Spring提供了一个很腻害的资源访问接口--Resource,注意,是提供了一个接口,而不是提供了一个类,实际上它提供了好多好多类,这种面向接口编程的思想是很酷的~~~~ 闲话少叙,说第一个Resource接口的实现类--UrlResource,这个类通过在构造方法中传入需要获取的资源的访问协议加上文件来访问。看代代码码吧 这个例子又有坑,又没有包,SAXReader需要dom4包的支持,这...原创 2018-12-09 21:55:29 · 169 阅读 · 0 评论 -
Spring 进阶(8)使用注解配置bean(4)
新的一天哈,写了个新的例子。package interface_package;public interface Animal { public void Bigger(String name);} package class_package;import interface_package.Animal;import org.springframework.bea...原创 2018-12-09 20:11:37 · 82 阅读 · 0 评论 -
Spring 进阶(19)Spring的AOP (7) 使用注解配置切面(4)使用配置文件配置切面
既然是在spring中,那么切面的配置肯定是可以通过配置文件配置的啦~~ 语法 <aop:before> 配置目标方法执行之前的处理 <aop:after> 配置目标方法执行之后的处理 <aop:after-returing> 配置after-returing处理 <aop:after-thr...原创 2018-12-14 15:21:26 · 343 阅读 · 0 评论 -
Spring 进阶(18)Spring的AOP (6) 使用注解配置切面(3)增强方法的执行顺序和定义切入点
觉得这个两个分开的话都好短,那就放在一起讲吧 增强方法的执行顺序,就是说如果程序中定义了不止一个增强处理的类,并且是对同一个方法进行增强,那么在默认情况下这些增强方法的执行顺序是随机的,spring无法决定那个先那个后,如果需要指定那个增强方法需要先执行的话(只能是说让那个类里的同类增强方法先执行),可以在增强类里使用order注解实现,orfer注解可以传入一个int类型的参数,这个参数越小,...原创 2018-12-14 13:57:55 · 474 阅读 · 0 评论 -
Spring 进阶(17)Spring的AOP (5) 使用注解配置切面(2)访问目标方法的相关信息
要在增强方法里访问目标方法的参数和其他相关信息,可以讲增强方法的以一个形参以JointPoint类传入,对于Around来说,ProceedingJoinPoint就是JointPoint的子类了。 JoitPoint提供了四个方法可以访问目标方法的相关信息 getArgs() 获得目标方法运行时候的参数 Signature getSignature() 获得被增强方法的...原创 2018-12-14 09:57:04 · 121 阅读 · 0 评论 -
Spring 进阶(16)Spring的AOP(4) 使用注解配置切面(2) @Around注解
Around注解的功能是强于Before和After注解的功能之和的,它不仅可以修改目标方法的参数和目标方法的返回值,甚至可以让目标方法不执行!但是它需要在安全的线程里执行,所以如果可以使用before和after注解就解决问题的话就不用Around。 下面简单说说它的用法 和Before一样,Around注解是语法是@Around(参数),这个参数是它的织入点 当定义一个Around增强...原创 2018-12-14 08:58:17 · 2601 阅读 · 0 评论 -
Spring(20) 获取别的bean的属性
嗯。。。就是在配置文件中一个bean把别人的属性拿过来用 通过将class指定为PropertyFactoryBean来实现获取其他bean的属性 在代码里边说吧,总而言之呢就是把class指定为ProperFactory,然后再指定是要获取那个bean的哪个属性package InstancePackage;public class Person { int age; ...原创 2018-12-06 19:45:21 · 609 阅读 · 0 评论 -
Spring(19) 协调不同作用域的bean
这个标题是照着课本来的,但是理解了以后就是给那些 单例模式的bean A 在 每次 运行 其中 需要 非单例模式的bean B 的方法的时候,每次都传一个新的 非单例模式bean B 的实例进去。 实现的方法是在配置文件中,将需要不同bean B的方法放在lookup-metho标签中。并且将需要的非实例化bean存进去 代码在这里~~~package calleePackage;...原创 2018-12-06 16:31:31 · 135 阅读 · 0 评论 -
Spring 进阶(15)Spring的AOP(3) 使用注解配置切面(1) 方法执行和方法执行之后的增强处理
前面讲的是使用AspectJ来实现AOP编程,这里的例子是在spring框架通过aspectJ实现AOP编程。 要继续往下看需要你把aspectJ先装好,怎么装在进阶(15)有介绍。 在安装好aspctJ之后,把安装目录下lib文件夹下的aspectjrt.jar和aspectjweaver.jar添加为lib,怎么添加就不仔细说了哈。 代码呀代码,这里呢是实现在运行Hello的hello方...原创 2018-12-13 15:05:39 · 754 阅读 · 0 评论 -
Spring(18) bean销毁前的行为
和在初始化bean之后执行某个方法一样,spring也支持在销毁一个bean之前 执行某个方法。可以让bean的实现类继承 disposableBean接口,在重写destory方法,这样在bean被销毁之前就会自动执行destory方法了。代码:package destoryClassPackage; import org.springframework.beans.factory.Di...原创 2018-12-06 15:37:06 · 209 阅读 · 0 评论 -
Spring(15) 容器中的工厂bean
前面两个涉及到使用工厂模式创建bean例子都是在bean的实现类中构造工厂模式,spring只是负责调用工厂方法来创建bean实例而已。 实际上spring还支持通过实现beanFactory接口来实现工厂模式。大致上可以这么理解,当一个bean对应的实现类时实现了beanFactory的类的时候,spring通过getBean返回的不是这个实现类本身,而是它里边一个叫做getObject()方...原创 2018-12-06 10:13:23 · 178 阅读 · 0 评论 -
Spring(14) 抽象bean
为了精简配置文件,可以把一些具有相同属性的bean的这些相同的属性抽象出来,定义成一个抽象bean,再在其他bean通过过parent属性指定继承的bean,来获得这些配置信息。 话不多说,代码奉上 这个例子定义了一个父类ParentClass,其中有一个成员变量和一个简单的输出方法。 在配置文件中将通过abstract属性将他指定成“抽象bean”,这样spring就不会去实例化它。 ...原创 2018-12-06 08:52:22 · 510 阅读 · 0 评论 -
Spring 进阶(7) 使用注解配置bean(3)
这里主要介绍自动装配和精确装配 自动装配可以通过@Autowired注解,被这个注解修饰的方法会在容器中找和id和参数名字一样的bean,然后把它装配进去。需要 指出的是,当容器中有大于一个bean符合条件的话,会抛出异常,当有大于一个bean符合条件的话,spring什么也不做。package InstanceClass;import org.springframework.beans...原创 2018-12-08 18:23:28 · 104 阅读 · 0 评论 -
Spring 进阶(10)访问资源(2)
这里讲的是ClassPathResource类,这个类的好处是它找的资源是类加载路径下的资源。尤其,尤其是在web应用之中,它可以自动搜索位于WEB-INF/classes下的资源文件,这就堪称神器了。 在一般的java程序中,类加载路径是不包括到包名的,例如下面这个例子把资源文件放在class_path_resourse下的话不修改路径是找不到的。 代码呀~package class_pa...原创 2018-12-10 09:30:32 · 110 阅读 · 0 评论 -
Spring 进阶(11)访问资源(3)
Sring提供了两个接口,ResourceLoader和ResourceLoaderAware ResourceLoader提供了getResource方法,这个可就厉害了,它可以根据Application的不同而自动调整Resource的实现类,这就是大名鼎鼎的策略模式,看代码<?xml version="1.0" encoding="GBK"?><beans xmlns...原创 2018-12-10 14:59:19 · 98 阅读 · 0 评论 -
Spring 进阶(12)访问资源(4)
这里要说的是ResourceAware,它的使用方法是在一个bean里实现ResourceAware接口,这个实现类有一个ResourceLoader变量,并且有setter方法,在beans.xml中配置这个bean,然后spring在实例化这个bean的时候呢,就会把寄己当作参数传给这个setter方法。厉害厉害。。。 代码呀代码package resource_aware;impor...原创 2018-12-10 15:09:00 · 80 阅读 · 0 评论 -
ssm 开发经验 idea 项目编译相关知识
最近学习的时候遇到最多的问题是项目的路径问题(就是各种文件找不到。。。。),所以琢磨了一下idea是怎么编译web项目的。 首先可以明显地看到idea项目根路径下有一个target目录,这里就是存放编译好地java源文件,也就是.class字节码文件的地方。 点开它可以看到诸如controller层,dao层和spring, mybaits的配置文件都放在classes文件夹下,注意,这里的c...原创 2019-05-26 15:49:53 · 629 阅读 · 0 评论 -
ssm 开发经验 web 项目中java 程序访问资源文件
1、位于标记的文件夹下的java程序的相对路径是整个项目 下边这个例子中,配置文件只有在项目之下它才找得到 package ssm.bean; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.Configurati...原创 2019-05-12 21:10:15 · 496 阅读 · 0 评论 -
ssm 开发经验 2019/5/12 mybatis 增加select 语句
使用mybatis逆向生成了一些查询sql的xml文件和java 文件后,对其进行修改,也就是加上一些功能 加入的功能是在查询员工的时候顺便把部门信息也查出来,共需要以下的步骤 新建resultmap ===============>这里需要注意的是assocication的使用,它是将一个java类当作另外一个类的成员属性的时候使用的。具体的用法是 javaType指定这个成员属性是哪...原创 2019-05-12 16:17:09 · 290 阅读 · 0 评论 -
ssm 开发经验 2019/5/12 jsp 中 el 表达式不起作用
今天遇到的问题是在jsp页面中使用el表达式不起作用的问题。 具体是 先在jsp页面中引入标签库 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 在页面中使用el表达式 <c:forEach items="${pageInfo.list}...原创 2019-05-12 15:34:06 · 146 阅读 · 0 评论 -
ssm 开发经验 web 项目 使用ajax请求填充 下拉列表
下拉列表使用的是bookstrap的下拉列表, 然后自动填充的是部门信息(显示的是部门名称,提交的信息的部门id) 页面上有个按钮,点击这个按钮会弹出填充员工信息的对话框,然后这个对话框中有部门信息,在点击弹出对话框按钮的时候会发起一个ajax请求,后端部分代码,service 和dao就不写了,就是简单的获得所有部门信息,封装成tablDept对象列表 package ssm.contro...原创 2019-05-19 09:32:58 · 866 阅读 · 1 评论 -
ssm 开发经验积累,持续更新 2019/5/12
1、web.xml中的配置文件不能按照idea默认的来,不然配置filter会报错,要按照下边这个来。<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=...原创 2019-04-29 12:54:58 · 222 阅读 · 1 评论 -
redis(1) linux系统安装redis
我是在虚拟机上使用linux安装redis的。又是校园网,所以只能使用nat模式上网,一下是使用vmware nat模式上网的步骤 先开启vm3,设置为nat模式 在本机的网络适配器中找到vm3,设置好i...原创 2019-04-26 22:37:29 · 74 阅读 · 0 评论 -
Spring Boot(3) SpringBoot是怎么跑起来的(1)
1、今天稍微学习了一下Spring Boot的运行机制,在这里把我收获到的知识分享出来,是对Spring Boot运行机制的一点点个人的看法。2、大家看到SpringBoot项目的时候最大的疑惑应该是为什么本来SSM里的那些xml配置文件都不见了呢,其实Spring Boot是对现在许多主流的第三方框架进行了整合,我们可以在一个空项目的pom文件中看到下边这样的配置,其实仔细研究一下就可以看到...原创 2019-04-05 23:39:27 · 243 阅读 · 0 评论 -
Spring Boot(2) Junit 和 LomBok
1、一个优秀的项目应当有相应的测试单元存在,Junit可以满足我们的需求,具体使用 1、先在pom文件中配置 <!--junit--> <dependency> <groupId>junit</groupId> <artifactId>juni...原创 2019-04-04 22:23:08 · 792 阅读 · 0 评论 -
Spring 之动态代理
动态代理机制: 1、在CalculatorProxy中的getProxy方法中,调用了 Proxy.newProxyInstance方法,并且传进去了一个 InvocationHandler匿名对象。 2、在使用到动态代理的时候,创建动态代理对象,创建动态代理对象的时候会动态的生成一个动态代理类,这个类 继承了Proxy,并且根据这个类创建出对象,这...原创 2019-03-31 15:34:01 · 128 阅读 · 0 评论 -
Spring Boot(1) 搭建项目
1、今天看到一篇文章说优秀的程序员的核心是要多思考,一定要多思考,保持思考美国一阵子你都会发现一个新的自己,加油~~~2、步入正题,今天开始学Spring Boot,IDE用的是idea。3、Spring体现的思想是约定优于配置,每一个文件放在某一个地方,Spring Boot框架就会认为它充当某一种组件,会想起前两天整个SSM框架,虽然只是实现超级超级简单的功能,但是那些配置文件也真是。。有...原创 2019-04-04 21:32:37 · 88 阅读 · 0 评论 -
Spring 进阶(14)Spring的AOP(2) 简单示例
这里将介绍如何使用aspenctJ实现简单的面向切片功能。 先写一些简单的模仿业务代码package business_component;public class BarCompontent { public void bar(){ System.out.println("执行bar"); }} package business_compone...原创 2018-12-11 23:10:37 · 91 阅读 · 0 评论 -
Spring 进阶(14)Spring的AOP(1) 安装aspectJ
先说一下我对AOP,面向切片编程的理解,学到现在用的最多的是java面向对象编程,这种编程是“静态”的,也就是说系统中的某个可以实现特定功能的类完成之后,如果需要向其中再添加某些功能的时候,那么唯一的解决办法就是改代码,而面向切片编程可以实现一个很牛逼的功能,举例子说吧,当需要在所有方法执行之前先在控制台输出一句“hello”,使用面向切片编程可以不用在以有的代码中进行任何修改。它实现的思路是是在...原创 2018-12-11 22:55:40 · 202 阅读 · 0 评论 -
Spring 进阶(13)访问资源(5)
这里要介绍的是使用依赖注入的方式将资源文件给到Resource对象。使用依赖注入可以在文件位置发生改变的时候可以不改变代码,改配置文件就可以了。 看招package use_dependency_injection;import org.springframework.core.io.Resource;public class UseDependencyInjection { ...原创 2018-12-10 15:31:12 · 78 阅读 · 0 评论 -
Spring 进阶(6) 使用注解配置bean(2)
太长了,分开写吧,到使用注解定制声明周期了。 和前面使用init-method和destory-method方法来指定初始化之后使用那个方法和销毁前使用哪个方法一样,使用@PostConstruct和@PreDestory注解也可以达到同样的效果。 这里是在上个例子的基础上修改的。 package InstanceClass;import org.springframework.st...原创 2018-12-08 17:42:14 · 136 阅读 · 0 评论 -
Spring 进阶(5) 使用注解配置bean(1)
可以在为类配置注解,然后在配置文件中指定哪一个包下有注解的类都注册成java bean,spring没有使用约定由于配置的做法,根据注解配置bean的类的路径要显式指定。 要特别指出的是,这些通过注解的bean,spring给他们的id是将类名全部改成小写字母 天道酬勤,来吧package InstanceClass;import org.springframework.stereoty...原创 2018-12-08 14:55:39 · 113 阅读 · 0 评论 -
model2
model2是由JSP+Servlet+JavaBean一起实现的,由jsp负责页面,JavaBean用于存储数据,Servlet处在jsp和JavaBean中间,负责调用JavaBean的存储方法将JSP传来的数据存储到数据库中。 这里要说以下MVC原理。 M model模型层,这是应用程序的核心部分,主要由JavaBean充当。可以是一个实体对象或者一种业务逻辑。 V view视图层...原创 2018-10-20 10:36:10 · 2720 阅读 · 0 评论 -
model1
在很久很久以前,所有的代码都是写在jsp文件里面的,这样是不好的(具体怎么不好网上有好多),后来出现了model1,即使用jsp和javaBean来一起开发,酱紫可以将java代码从jsp中剥离出来,让网站的维护更加容易。历史什么的可以自己百度哈,这里写一个简单的实现示例。 model1也就是jsp页面加JavaBean模式。由以下几个部分组成。 数据库 create table tb...原创 2018-10-20 09:32:04 · 882 阅读 · 0 评论 -
Struts2(1) 基本讲解
自己折腾了一段时间Struts2, 前面琐碎的地方就不一一开始讲了,这里先将一下Struts搭建方法,follow me~ 工作原理就是Struts是一个拦截器,他把所有客户端的请求都拦截下来,然后Struts将请求的这些信息交给Action去处理,Action将处理后的结果返回给Struts,Struts再将结果通过jsp页面之类的方式反馈给用户。 再IDEA上搭建Strus2环境 IDE...原创 2018-11-10 00:11:51 · 108 阅读 · 0 评论 -
Sturts2 (2)DMI
DMI(动态方法调用),就是实现在一个Action里面实现多个控制处理逻辑,有一下几种方法可以实现,具体讲解穿插在代码中 要使用DMI,先要在Struts.xml中将动态方法调用开启,即在Struts.xml的struts标签下加上 <constant name="struts.enable.DynamicMethodInvocation" value="true"/> ...原创 2018-11-10 00:49:43 · 182 阅读 · 0 评论 -
Struts2 (3) 异常处理
说到在Struts框架中的异常处理,很多人想到的应该是在Action中使用try catch语句,然后再在配置文件中进行进一步的处理 但是!这也 太low了吧,Struts其实有提供了更加酷和使用的异常处理方法,声明式异常捕捉,这种方式是在Action的带有 throws Exception的方法中抛出异常,然后再struts.xml文件中声明异常的处理机制,具体如下 第一种是局部声明式异常...转载 2018-11-10 14:50:55 · 147 阅读 · 0 评论 -
Spring 进阶(4) 重写占位配置器
学这个很多东西看书模模糊糊,要实际操作立马就懂了。 这个重写占位配置器,就是在比占位配置器的功能更加强大,它可以实现无需在bean下显式地配置peoperty信息,而是由重写展位配置器自动填充,它可以综合配置文件和属性文件的信息,当这两者的发生冲突的时候,属性文件(properties文件)会覆盖配置文件的信息。 要特别提醒地是,要实现重写资源配置器自动填充功能,需要在属性文件中把地属性格式写...原创 2018-12-08 14:17:25 · 109 阅读 · 0 评论 -
Spring 进阶(3) 属性占位符适配器
属性占位符适配器是在配置文件中配置一个属性占位符适配器的bean A,然后bean A加载配置文件,然后其他bean就可以通过占位符的方式去使用属性占位符适配器已经加载好的值。 这种办法可以当相应的信息需要修改的时候不用改beans.xml,直接在属性文件里边改就可以了。 代码这里就不真的链接数据库了,其实链接也很简单,是把~ package DbPackage;//这是普通bean,...原创 2018-12-08 11:07:27 · 106 阅读 · 0 评论