自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Java Spring初学者之调试器里括号包含的类含义

如图: 表示在执行类的构造函数。 圆括号里代表执行的构造函数是定义在哪个实际类里的: 从继承树可以看出,ClassPathXmlApplicationContext最终的父类为AbstractApplicationContext: 要获取更多Jerry的原创文章,请关注公众号"汪子...

2020-07-31 14:56:29 717 0

原创 Java Spring ClassPathXmlApplicationContext是如何判断容器内包含某个Bean的

ClassPathXmlApplicationContext的获得方式:ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(“Beans.xml”); 重要的成员变量: beanFactory: ...

2020-07-31 14:35:26 912 0

原创 使用Java Spring消费MySQL中的数据库存储过程

进行这个练习的一些先决条件。 创建一张student数据库表: CREATE TABLE Student( ID INT NOT NULL AUTO_INCREMENT, NAME VARCHAR(20) NOT NULL, AGE INT NOT NULL, PRI...

2020-07-30 21:19:50 977 0

原创 如何阻止指定类型的SAP CRM附件被上传到服务器

Requirement: end user could not be allowed to upload attachment whose size is greater than a given limit for example 400KB. Solution: (1) Create a BA...

2020-07-30 11:48:45 964 0

原创 Spring JDBC 框架,我的学习笔记

Student.java: StudentDAO: 一个接口 setDataSource方法注入javax.sql.DataSource的依赖: StudentMapper: java.sql.ResultSet包含的是单条记录: StudentJDBCTemplate: 是接口Studen...

2020-07-30 11:35:14 1001 0

原创 如何在MySQL中创建存储过程

看个具体的例子: 在TEST数据库中创建一个存储过程,名为getRecord: DELIMITER $$ DROP PROCEDURE IF EXISTS `TEST`.`getRecord` $$ CREATE PROCEDURE `TEST`.`getRecord` ( IN in_id IN...

2020-07-30 11:27:28 1014 0

原创 Spring JDBC 框架一个最简单的Hello World级别的例子

本地安装mySQL数据库社区版,如果不知道如何安装,可以查看我这篇文章: MySQL社区版的下载和安装 https://blog.csdn.net/i042416/article/details/107600796 使用普通的 JDBC 数据库时,需要繁琐地写很多代码来处理异常,打开和关闭数据库连...

2020-07-27 18:05:05 1275 0

原创 Could not load JDBC driver class [com.mysql.jdbc.Driver]

我使用Spring JDBC编程时,遇到一个错误消息:Could not load JDBC driver class [com.mysql.jdbc.Driver] 完整的错误为: Jul 27, 2020 12:22:26 PM org.springframework.context.sup...

2020-07-27 16:45:59 1422 0

原创 mySQL初学者一些最常用的命令行

show databases; 查看当前的数据库列表 use mysql; 进入某一个数据库 show tables; 查看当前数据库下所有的数据库表 show columns from user; 查看user数据库表的行定义 show index from user; 查看user数据...

2020-07-27 11:30:21 1416 0

原创 如何用命令行给mySQL添加用户

命令行netstat -ao | find “3306”, 查看MySQL默认端口号3306对应的进程id(pid)为30016: 使用tasklist | find “30016” 查看pid 30016的进程对应的应用程序名为mysqld.exe: where mysqld即可查询到mys...

2020-07-27 10:20:17 1406 0

原创 使用windows命令行查看mySQL应用的安装路径

命令行netstat -ao | find “3306”, 查看MySQL默认端口号3306对应的进程id(pid)为30016: 使用tasklist | find “30016” 查看pid 30016的进程对应的应用程序名为mysqld.exe: where mysqld即可查询到mys...

2020-07-27 10:08:13 1510 0

原创 解决MySQL Server Logs不能正常查看的问题

我安装完了MySQL社区版之后,在Workbench Centra的server Administration中点击Manage Instance: 输入Root的用户名和密码,访问服务器实例localhost:3306 点击Server Logs,发现无法查看日志文件: 错误消息:An...

2020-07-26 22:19:32 1350 0

原创 MySQL社区版的下载和安装

下载地址: https://www.mysql.com/cn/products/community/ 点击立即下载: 再点MySQL Installer for Windows: 选择自己需要的版本下载: 双击安装文件进行安装: 默认端口:3306 创建DB Admin user: ...

2020-07-26 22:14:31 1475 0

原创 Spring中基于注解@AspectJ的AOP实现

@AspectJ 作为通过 Java 5 注释注释的普通的 Java 类,它指的是声明aspects 的一种风格。通过在基于架构的 XML 配置文件中包含以下元素,@AspectJ 支持是可用的。 aop:aspectj-autoproxy/ 大致流程如下: (1) 首先利用注解声明一个Aspec...

2020-07-26 13:09:28 1333 0

原创 Spring AOP的一个具体例子

新建一个Logging类: 我希望我的业务类的Java代码的方法,在执行前,执行后,返回方法后,以及抛出异常后,能够执行一些hook代码。这些hook代码就写在这个Logging类的对应方法里: beforeAdvice afterAdvice afterReturningAdvice Afte...

2020-07-26 12:17:25 1319 0

原创 Spring AOP异常:Error creating bean with name ‘org.springframework.aop.aspectj.

异常: Jul 26, 2020 11:43:22 AM org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh INFO: Refreshing org.springframework.c...

2020-07-26 12:02:29 1627 0

原创 Spring 中基于 AOP 的 XML操作方式

Spring 框架的一个关键组件是面向方面的编程(AOP)框架。面向方面的编程需要把程序逻辑分解成不同的部分称为所谓的关注点。跨一个应用程序的多个点的功能被称为横切关注点,这些横切关注点在概念上独立于应用程序的业务逻辑。有各种各样的常见的很好的方面的例子,如日志记录、审计、声明式事务、安全性和缓存...

2020-07-26 11:42:32 1339 0

原创 Spring 中的如何自定义事件处理(Custom Event)

新建一个CustomEvent.java: import org.springframework.context.ApplicationEvent; public class CustomEvent extends ApplicationEvent{ public CustomEvent(...

2020-07-26 10:10:26 1049 0

原创 Spring 中的事件处理

Spring 的核心是 ApplicationContext,它负责管理 beans 的完整生命周期。当加载 beans 时,ApplicationContext 发布某些类型的事件。例如,当上下文启动时,ContextStartedEvent 发布,当上下文停止时,ContextStoppedE...

2020-07-26 09:55:23 1012 0

原创 Spring 基于 Java 的配置 - 如何不用Beans.xml照样描述bean之间的依赖关系

看个具体的例子:首先是配置类,该类的作用相当于Spring常规依赖维护里的Beans.xml: import org.springframework.context.annotation.*; @Configuration public class TextEditorConfig { @B...

2020-07-26 09:31:33 978 0

原创 Spring 基于 Java 的配置

@Configuration 和 @Bean 注解 这两个注解一般配合使用。 带有 @Configuration 的注解类表示这个类可以使用 Spring IoC 容器作为 bean 定义的来源。@Bean 注解告诉 Spring,一个带有 @Bean 的注解方法将返回一个对象,该对象应该被注册为...

2020-07-25 21:46:18 931 0

原创 Spring中的Spring JSR-250 注释之@Resource

@Resource注解相当于By Name装配方式。 TextEditor: package com.sap; import javax.annotation.Resource; public class TextEditor { private SpellChecker spellChe...

2020-07-25 15:46:02 926 0

原创 Spring中的Spring JSR-250 注释

Spring还使用基于 JSR-250 注释,它包括 @PostConstruct, @PreDestroy 和 @Resource 注释。 @PostConstruct 和 @PreDestroy 注释 为了定义一个 bean 的安装和卸载,我们使用 init-method ...

2020-07-25 15:27:02 865 0

原创 Spring 基于注解(annotation)的配置之@Qualifier注解

使用@Qualifier可以分别为同样类型的Bean分别注入不同的依赖值。看个例子: Student.java: package com.sap; public class Student { private Integer age; private String name; ...

2020-07-25 13:12:48 780 0

原创 Spring 基于注解(annotation)的配置之@Autowired注解

Setter 方法中的 @Autowired 当 Spring遇到一个在 setter 方法中使用的 @Autowired 注解,它会试图执行 byType 自动连接。换言之,加了@Autowired的Setter方法等同于byType自动装配模式。 看个例子: import org.spring...

2020-07-25 12:46:24 825 0

原创 Spring 基于注解(annotation)的配置之@Required注解

从 Spring 2.5 开始就可以使用注解来配置依赖注入。注解连线在默认情况下在 Spring 容器中不打开。因此,在可以使用基于注解的连线之前,我们将需要在我们的 Spring 配置文件中启用它: <?xml version="1.0" encoding="...

2020-07-25 11:43:17 839 0

原创 Spring 自动装配模式之构造函数装配方式

这种模式与 byType 非常相似,但它应用于构造器参数。Spring 容器看作 beans,在 XML 配置文件中 beans 的 autowire 属性设置为 constructor。然后,它尝试把它的构造函数的参数与配置文件中 beans 名称中的一个进行匹配和连线。如果找到匹配项,它会注入...

2020-07-25 10:49:49 432 0

原创 Spring 自动装配模式之byType

Spring 容器看作 beans,在 XML 配置文件中 beans 的 autowire 属性设置为 byType。然后,如果它的 type 恰好与配置文件中 beans 名称中的一个相匹配,它将尝试匹配和连接它的属性。如果找到匹配项,它将注入...

2020-07-25 10:27:25 438 0

原创 Spring Beans 自动装配

Spring 容器可以在不使用和 元素的情况下自动装配相互协作的 bean 之间的关系,这有助于减少编写一个大的基于 Spring 的应用程序的 XML 配置的数量。 By Name 使用By Name进行自动装配,beans.xml如下: <?xml version="1.0&q...

2020-07-25 10:10:35 384 0

原创 Spring 注入集合的成员变量属性

Spring支持list,set,map和prop四种集合类型的注入。 看一个例子:JavaCollection这个类包含了上述介绍的4种集合类型的成员变量: import java.util.*; public class JavaCollection { List addressList...

2020-07-25 09:37:26 438 0

原创 Spring 基于设值函数的依赖注入

看个例子: public class TextEditor { private SpellChecker spellChecker; // a setter method to inject the dependency. public void setSpellChecker(...

2020-07-24 16:20:18 471 0

原创 Spring 基于构造函数的依赖注入

当容器调用带有一组参数的类构造函数时,基于构造函数的依赖注入就完成了,其中每个参数代表一个对其他类的依赖。 看个例子: TextEditor的源代码: public class TextEditor { private SpellChecker spellChecker; publ...

2020-07-24 13:09:45 433 0

原创 Spring Bean的继承

bean 定义可以包含很多的配置信息,包括构造函数的参数,属性值,容器的具体信息例如初始化方法,静态工厂方法名,等等。 子 bean 的定义继承父定义的配置数据。子定义可以根据需要重写一些值,或者添加其他值。 Spring Bean 定义的继承与 Java 类的继承无关,但是继承的概念是一样的。你...

2020-07-23 21:35:46 406 0

原创 Spring Bean 后置处理器PostProcessor

BeanPostProcessor 接口定义回调方法,可以实现该方法来提供自己的实例化逻辑,依赖解析逻辑等。可以在 Spring 容器通过插入一个或多个 BeanPostProcessor 的实现来完成实例化,配置和初始化一个bean之后实现一些自定义逻辑回调方法。 可以配置多个 BeanPost...

2020-07-23 14:07:51 367 0

原创 Spring Bean的生命周期

Bean的生命周期可以表达为:Bean的定义——Bean的初始化——Bean的使用——Bean的销毁 在MainApp.java 里注册一个在 AbstractApplicationContext 类中声明的关闭 hook 的 registerShutdownHook() 方法。它将确保正常关闭,...

2020-07-23 13:47:01 366 0

原创 Spring里的容器和Bean对象

"控制反转"是指new实例工作不由程序员来做而是交给Spring容器来做。在Spring中BeanFactory是IOC容器的实际代表者。 Spring 容器是 Spring 框架的核心。容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁。Spri...

2020-07-23 13:13:08 410 0

原创 四种ABAP单元测试隔离(test isolation)技术

Hi friends, As far as I know test isolation is widely used in SAP internal to build unit test code, at least in my team. Test isolation in unit test ...

2020-07-23 12:23:10 394 0

原创 不借助Maven,使用Eclipse创建Hello World级别的Spring项目

本文适合没有任何Spring基础的初学者。 从下面的链接下载Spring库文件: https://repo.spring.io/release/org/springframework/spring/5.0.0.RELEASE/ http://commons.apache.org/proper/c...

2020-07-23 12:18:11 354 0

原创 使用ant执行Java代码

一个小陷阱:如果用tomcat manager应用,即html页面点击reload,发起的HTTP请求的url:http://localhost:9032/manager/html/reload;jsessionid=BA373DFB9660EF7F30806C8BA2C6013C?path=/j...

2020-07-22 14:50:58 496 0

原创 tomcat使用manager GUI应用和script分别reload应用的注意事项

一个小陷阱:如果用tomcat manager应用,即html页面点击reload,发起的HTTP请求的url:http://localhost:9032/manager/html/reload;jsessionid=BA373DFB9660EF7F30806C8BA2C6013C?path=/j...

2020-07-22 13:56:09 508 0

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