- 博客(25)
- 收藏
- 关注
原创 数据库相关介绍
一般使用b+树,作为索引结构,比B树的区别是,内容都存储到叶子节点中,内节点只有索引,没有数据。叶子节点不存数据,那么可以在磁盘上位置更接近,避免较多的磁盘查找。重做日志 是一种事务处理机制的重要成员,记录对数据库的操作,便于维护事务的持久性,也可以用作性能优化,事务不直接修改数据,而是记录下来延迟修改。提供回滚,多版本并发下的读(MVCC),记录一条与当前操作相反的日志,便于回滚。MVCC多版本并发控制,通过读快照,不加锁,事务开始时,读哪个版本,最后仍读哪个版本,避免幻读。隔离性,通过锁,或mvcc。
2024-09-04 16:31:38 180
原创 powerMock用法总结
私有方法:不进入实际方法,先mock私有方法所在的类,用when.return直接给结果 要进入实际方法,先spy私有方法所在的类,再用whitebox.invokemethod(),反射调用。静态方法:先preparefortest 静态方法所在的类,再mockstatic,再when.return 给结果。抽象类:要进入抽象类中的实际方法,先mock(abstract.class, Mockito.CALLS_REAL_METHODS);然后直接调用 要mock抽象类中的抽象方法,直
2022-02-16 15:26:32 3007
原创 powermock给抽象类增加ut
public class AbstractServiceTest { @Test public void execute() throws Exception { AbstractService abstractService = Mockito.mock(AbstractService.class, Moc..
2021-12-22 13:30:01 1308 1
原创 powermock私有方法,不执行静态代码块
@InjectMocksprivate 类 类名;@Test方法{Whitebox.invokeMethod(类名, "私有方法名", 入参);}因为类无法在外部调用它的私有方法,所以需要先mock它,通过反射,将它的私用方法访问设置为true,然后就可以进入私有方法内部。...
2021-12-14 11:14:20 1686
转载 springboot打开启动页
springboot启动时,不懂controller和startup两个类中的注解作用,很是困扰了一阵springboot比spring方便的一点是将很多配置存入了注解或者属性中,不需要xml文件,当你熟悉了很方便,不知道配置在哪的时候很难找。springboot启动并打开jsp网页,主要是四个地方的配置startup:@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class} , scanBas
2021-12-03 10:59:59 2027
原创 spring中bean的xml注入方式
遇到一个使用xml文件进行bean注入,实现往一个bean中注入实例,逻辑如下: A,B两个类都继承同一个接口,不给A类添加注解,而是使用xml文件生成bean,xml文件将A类设为bean,并添加属性properties,properties中标明ref为B类、C类、D类等,B类需要添加注解,生成bean。A类中可以直接使用properties,是一个list,list中是ref的实例。此时,在A类中可以直接使用B类,不用注入,直接使用。先跑A类,在A类中调用B类、C类、D类等。cl...
2021-11-15 20:06:20 910
原创 LocalDateTime
localDate d = LocalDate.now(); //当前日期 2021-12-12localTime t = LocalTime.now(); // 当前时间 12:12:12...localDateTime dt = LocalDateTime .now() //当前日期时间
2021-11-15 19:26:37 1100
原创 注解后面value和name的使用方法
@Repository("person")public class people{...}以上注解相当于@Repository(value=“person”)这时的作用是相当于交给spring创建一个实例,名为person ,使用方法可用@Autowired或者@Resource注入@Autowiredprivate people personprivate 类名实例名,不用new, 此时就相当于将spring之前创建的person实例注入到申明的地方。这个名字不叫做p..
2021-10-20 13:21:11 535
转载 Java继承执行顺序
Java单独类中执行顺序:静态代码块>构造代码块>构造方法。继承注意事项:1)子类不能继承父类的私有方法,2)子类不能继承父类的构造方法,但可以用super来访问。3)不要为了部分功能去继承,继承体现的是 is a 的关系。4)子类的构造方法默认访问父类的无参构造方法。子类初始化之前先完成父类数据的初始化,父类的初始化是调用方法区中的构造方法进行初始化,不会创建父类对象,创建对象要new(1,分配内存;2,调用构造方法,完成对象初始化)...
2021-09-30 13:44:43 783
原创 aop面向切面编程浅显理解以及使用
编程中将重复代码提取出来,如果直接调用重复代码,会出现耦合度情况,为了减少类间耦合,但在需要的时候可以加入代码,可以用aop来实现. 官方定义:在运行时,动态的将代码切入到类的指定方法、指定位置上的变成思想就是面向切面编程。 aop 实现了动态的执行一段代码,且这段代码随意改变,不用遍历所有原有代码,改变原有代码。 与动态配置文件的作用进行比较:动态配置文件,可以在运行的时候动态配置参数,参数抽取出来,随时更改配置;aop,将重复代码提取出来,让框架注入给需要的文件,或...
2021-09-29 17:30:23 265
原创 consumer group消费消息
一个consumer group 里面有多个机器,消息队列中的一条消息,只能让一个consumer group里的一个机器消费,但可以让多个consumer group消费,如果设置成广播消息,则可以让一个consumer group里的所有机器都可以消费,广播消息,一般是用在改机器本地信息的,业务少用。...
2021-09-15 10:50:47 165
原创 spring跨项目获取其他项目的bean
添加了maven依赖,在maven compile时成功,可以获取依赖项中的类名,但是当使用@Autowired注入时报错,找不到bean,此时要在spring-context.xml文件中添加spring要扫描的其他项目的包。添加以下:<context:component-scan base-package="com.yourclass.package.is"/>...
2021-09-14 15:44:01 3690 1
原创 toJson()和toString()
toJson()和toString()都是生成String模式,但是两者完全不同,且不能互相转换,toString()一般是object的方法,自己申明的类一般没有重写这个方法,toString会带上类名等,一些无关消息,直接将类toString()是不能用fromJson()来转化出来的。 这种格式出错,也很难发现,所以一定要在写数据时注意,是toJson()还是toString()....
2021-09-09 13:20:28 1821
原创 单元测试时获取spring管理的bean
@ContextConfiguration({"classpath*:spring/spring-*.xml"})在测试文件类名上加上以上注释,即表示,可以获取classpath中管理的所有bean,classpath*表示除了classpath中的bean,还有jar中的bean都可以获取,然后可以在test中随意使用@Autowired注解,被测试的类中的注解也可随意获取。...
2021-09-07 17:26:25 740
原创 maven compile 冲突时报错find DuplicateClasses
首先将INFO里面冲突的两个文件名复制在pom文件中查找,1.直接找到两个冲突文件的版本,改成相同的。2.如果又找不到的文件名,在terminal中输入:mvn dependency:tree 回车。将除了下载链接部分,其他的信息复制粘贴出来,在其中找没找到的文件名,会在附近显示出文件路径,往上找,最外层即可找到冲突文件被包含在那个文件下,找到该文件,可以用<exclusion>将冲突文件排除掉,或者在父文件所在的项目中,将冲突文件的版本改成和另一个相同的。或者改外...
2021-09-07 10:25:55 1059
原创 git 保存当前分支的改变,整个切换到别的分支上
在A分支上修改代码,发现改错了,还没commit,想要把所有改变全都切换到B分支上。如下操作:在A分支上 git stash 保存当前分支的改变,发现A分支上所有的改变全都还原了,没动过一样切换到B分支上: git stash pop。B分支上出现之前的所有改变。或者:IDEA中,A分支上stash changes 。B分支上unstash changes。git 真强大...
2021-09-03 14:31:21 1106
原创 git merge 没找到分支的change
本地个人分支想要合并远程主分支,merge的时候,提示没有任何不同与远程master分支,但其实master分支有改变,本地获取不到。发现:本地个人分支要现pull一次远程个人分支,然后才能获取到远程master分支和自己的不同,才能merge成功。...
2021-09-02 11:40:03 131
转载 @Component注解的理解
开发中难免会遇到这个这个注解@Component@Controller 控制器(注入服务)用于标注控制层,相当于struts中的action层@Service 服务(注入dao)用于标注服务层,主要用来进行业务的逻辑处理@Repository(实现dao访问)用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件.@Component (把普通pojo实例化到spring容器中,相当于配置文件中的 )泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Contro
2021-08-31 14:08:09 166
原创 spring实例注入失败
给一个child类加上了@service,然后在parent类中调用的时候用@resource来获取。parent类中用了单例模式,getInstance来new一个parent类。运行时报错 ,报java.lang.NullPointerException异常,发现:@Resource此类注解是相当于把类交给spring来注入,不用new,但如果外层类是new的,spring就不管了,里面的@Resource也不起作用所以,在写代码时,如果里面有用到@Resource、@Autowired等.
2021-08-30 21:34:37 1120
原创 PowerMock饿汉单例模式
这几天单元测试的时候,想要powermock一个单例模式,不想要获得一个单例,只想调用单例里面的方法,在mock的时候,各种报错,抛出java.lang.ExceptionInInitializerError异常,或者抛出noclassdeffounderror异常,最后发现可以suppress,所有static和构造方法全都抑制,终于成功调用,被测试类代码如下所示:public class PmModelHandler { // 要mock掉的成员变量 private Innerm
2021-08-26 19:53:46 605
原创 PowerMock的maven依赖
<dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito</artifactId> <version>1.6.3</version> <scope>test</scope> </dep...
2021-08-26 10:32:39 3329
转载 PowerMock中@prepareForTest之后注入其他mock对象java.lang.NullPointerException报错
被注入对象要调用私有方法,加了@PrepareForTest注解,还要往被注入的对象注入别的mock类,此时用@InjectMocks和@Mock,然后直接doReturn会报java.lang.NullPointerException异常,需要手动将其注入。@RunWith(PowerMockRunner.class)@PrepareForTest({Parents .class, Child.class})public class Test { @InjectMocks...
2021-08-26 10:29:26 2538 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人