借鉴和参考了:http://blog.csdn.net/ohalo/article/details/48999863
错误写法:
@Autowired private static OpenSearchProperties openSearchProperties;
这个写法报错:Autowired annotation is not supported on static fields
解决方案一:就是不用static (如果你非要用,请看解决方案二)
解决方案二:
private static OpenSearchProperties openSearchProperties; @Resource(name = "openSearchProperties") public void setOpenSearchProperties(OpenSearchProperties openSearchProperties) { OpenSearchUtil.openSearchProperties = openSearchProperties; }
其中 @Resource(name = "openSearchProperties") 中的openSearchProperties 就是你要导入的 serice、dao、Component、Configuration等 spring 依赖注入的类
相关推荐
* @Autowired 注解不能用于静态成员变量。 5. 结论 使用 Spring 注解可以简化属性的注入过程,提高代码的可读性和维护性。在使用 @Autowired 注解时,需要注意其使用限制和注意事项,以确保正确使用。
* final修饰基本类型变量时,不能对基本变量重新赋值,因为基本类型变量不能被改变。 * final修饰引用类型变量时,仅仅保持的是这个引用所引用的地址不会改变,既一直引用同一个对象。但这个对象完全可以改变(对象...
* 声明静态变量的影响:尽量不要在 Controller 中定义属性,如果定义了需要用多例,否则为线程不安全的。 Spring Bean 的生命周期 * Spring Bean 的生命周期包括:创建前准备、创建实例、依赖注入、容器缓存、销毁...
入口类和@SpringBootApplication @Configuration @EnableAutoConfiguration @ComponentScan 关闭特定的自动配置 定制Banner 修改Banner 关闭Banner main里修改 fluentAPI ...
在Spring Boot和MyBatis的集成应用中,有时我们需要连接多...静态方式适用于数据源数量固定且不常改变的情况,而动态方式则能更好地适应业务扩展和灵活性需求。在实际开发中,应根据项目特性选择合适的数据源管理策略。
* @Resource:其作用与@Autowired一样,但@Resource默认按照Bean实例名称进行装配,而@Autowired默认按照Bean类型进行装配。 * @Qualifier:@Autowired注解配合使用,会将默认的按Bean类型装配修改为按照Bean实例...
@Autowired与@Resource的区别: - @Autowired是Spring提供的注解,它通过类型匹配找到对应的Bean并自动注入,如果找到多个类型匹配的Bean,则会根据名称进行匹配。 - @Resource是Java EE提供的注解,它默认通过名称...
创建一个工具类`SpringContextUtil`,并实现`ApplicationContextAware`接口,这样Spring会在初始化时自动调用`setApplicationContext`方法,将ApplicationContext注入到静态变量中: ```java public class ...
- 变量与作用域:理解局部变量、成员变量、静态变量的区别。 - 控制流:if、switch、for、while、do-while等语句的使用。 2. **Java集合框架** - List、Set、Queue接口:ArrayList、LinkedList、HashSet、...
- static关键字:静态变量、静态方法和静态块的作用。 3. **集合框架** - List、Set和Queue接口及其实现类:ArrayList、LinkedList、HashSet、TreeSet、LinkedList等的区别和应用场景。 - Map接口及其实现类:...
- 方法区:存储类信息、常量池、静态变量等。 - 栈内存溢出与堆内存溢出:理解原因和解决策略。 - 垃圾回收:GC原理,新生代、老年代划分,垃圾回收算法。 6. **网络编程**: - Socket编程:理解TCP/IP协议,...
1. IoC容器:掌握Bean的生命周期,@Autowired、@Resource注解的使用。 2. AOP:理解切面编程,学习使用AspectJ进行切面定义。 3. Spring Boot:了解Spring Boot的自动配置、起步依赖和Starter特性。 九、数据库 1. ...
- 变量与运算符:熟悉各种变量(局部、成员、静态)的作用域,以及运算符的优先级和用法。 - 控制流程:熟练运用if、switch、for、while等控制结构。 - 异常处理:了解try-catch-finally语句块,理解异常类层次...
- **依赖注入**:理解DI(Dependency Injection)的概念,以及@Autowired和@Resource的使用。 - **AOP**:面向切面编程,理解通知类型和切点表达式。 - **Spring Boot**:快速开发特性,如自动配置、起步依赖等。...
- SpEL是Spring的表达式语言,3.1版本增强了其功能,支持更多的运算符和上下文变量,使表达式更加灵活强大。 7. **国际化(i18n)**: - 对`MessageSource`接口进行了改进,支持更复杂的资源定位策略,便于实现多...
- **依赖注入**:理解@Autowired、@Resource、@Inject的使用。 - **AOP**:切面编程,包括通知类型和自动代理的配置。 - **Spring Boot**:快速开发工具,理解其自动配置和Starter的原理。 9. **数据库相关** -...
- **依赖注入(DI)**:理解@Autowired, @Resource等注解,以及XML配置的使用。 - **AOP(面向切面编程)**:了解切面、通知、织入等概念,以及如何实现切面。 - **Spring Boot**:快速构建微服务应用,自动配置...
在实际开发中,推荐使用基于注解的方式来进行依赖注入,比如`@Autowired`、`@Resource`等注解,这种方式使代码更加简洁明了。 此外,Spring还提供了强大的`<util>`命名空间,包括`<list>`、`<map>`、`<set>`等类型...