Bean的初始化顺序

[toc]

一个问题,如何让ClassB在ClassA之前被初始化?

不使用配置类

即使用 @Component@Service 等注解的Bean。

阅读更多

Spring测试用例自动注入Bean(上)

简单梳理了下有下面三种方法:

SpringBoot项目 + 注解标识的Bean

说明:即在SpringBoot项目中,通过 @Autowired 注入 其他通过 @Component@Service 等注解加入IOC容器里面的Bean。

方法:在Test类前加入以下注解:

阅读更多

@Autowired绑定静态变量

今天在使用WebSocket的时候,遇到了一个需要Autowire静态变量的场景,即SimpMessagingTemplate 这个Bean 需要在一些静态方法中调用。方法有两种:

阅读更多

在Jar包含相对路径的依赖

问题描述

今天在打jar包的时候遇到了一点问题:我要把一个attach jvm功能的jar包打成一个可执行文件,该jar包依赖了jdk中的tools.jar

打包时我用了maven-shade-plugin插件,但是在运行(java -jar xxx.jar)时,却出现了如下异常: java.lang.ClassNotFoundException:com.sun.tools.attach.AttachNotSupportedException

阅读更多

Spring中几组容易混淆的注解

@Resource VS @Autowired

  1. @Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上。
  2. @Autowired默认按类型装配(这个注解是属于Spring的),默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false,如:@Autowired(required=false) ,如果我们想使用名称装配可以结合@Qualifier注解进行使用。
  3. @Resource(这个注解属于J2EE的),默认安装名称进行装配,名称可以通过name属性进行指定,如果没有指定name属性,当注解写在字段上时,默认取字段名进行安装名称查找,如果注解写在setter方法上默认取属性名进行装配。当找不到与名称匹配的bean时才按照类型进行装配。但是需要注意的是,如果name属性一旦指定,就只会按照名称进行装配。
阅读更多

:D 一言句子获取中...