Spring注解解决属性中的自动注入

@Autowired 

Spring 2.5 引入了 @Autowired 注释,它可以对类成员变量方法构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法

加在成员变量之上可以省略get set方法。

但是首先得现在Spring配置文件中配置org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor

@Resource 注解被用来激活一个命名资源(named resource)的依赖注入,在JavaEE应用程序中,该注解被典型地转换为绑定于JNDI context中的一个对象。 Spring确实支持使用@Resource通过JNDI lookup来解析对象,默认地,拥有与@Resource注解所提供名字相匹配的“bean name(bean名字)”的Spring管理对象会被注入。

@Resource(name="dataSource")public void setDataSource(DataSource dataSource) {this.dataSource = dataSource;}Spring会向加了注解的setter方法传递bean名为“dataSource”的Spring管理对象的引用。
private DataSource dataSource;@Resourcepublic void setDataSource(DataSource dataSource) {this.dataSource = dataSource;}
直接使用@Resource注解一个域(field)同样是可能的。通过不暴露setter方法,代码愈发紧凑并且还提供了域不可修改的额外益处。正如下面将要证明的,@Resource注解甚至不需要一个显式的字符串值,在没有提供任何值的情况下,域名将被当作默认值。
@Resourceprivate DataSource dataSource; // inject the bean named ‘dataSource‘
时间: 2024-10-19 08:57:21

Spring注解解决属性中的自动注入的相关文章

Spring容器是如何实现 Bean 自动注入(xml)

入口web.xml web.xml 配置文件 <!-- Spring Config --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</par

Spring IoC 在子类中为父类注入属性值

1.基类 package com.grgbanking.it.base; import com.grgbanking.it.wx.common.creator.WXBaseMessageCreator; import com.grgbanking.it.wx.entity.WXPassiveMessage; import com.grgbanking.it.wx.entity.WXVerify; public class WXConnectionService implements IWXCon

8、Spring+Struts2+MyBaits(Spring注解+jdbc属性文件+log4j属性文件)

一.注解理论 使用注解来构造IoC容器 用注解来向Spring容器注册Bean.需要在applicationContext.xml中注册<context:component-scan base-package=”pagkage1[,pagkage2,…,pagkageN]”/>. 如:在base-package指明一个包 1 <context:component-scan base-package="cn.gacl.java"/> 表明cn.gacl.java包

为什么在Controller层中,自动注入Iservice,而不是serviceImpI?

经常写的代码:@Autowrite Aservice  aservice 不明白为什么在注入的是抽象层,而不是实现层,直到看到了这篇博客:https://blog.csdn.net/qq_31963719/article/details/79458002 明白了什么是所谓的 面向接口编程 在自动注入抽象层的时候,会实例化该抽象类,而serviceImp是service的实现类,所以自动的生成这个实现类. 原文地址:https://www.cnblogs.com/zzw3014/p/1179836

解决SpringBoot中webScocket不能注入bean的问题

最近在做websocket聊天,但是遇到一个问题,就是在websocket的服务中要调用Service层的东西.首先我想到的是通过@Autowire注解来实现bean的注入.但是进过测试发现,注入的bean一直为NULL.最后经过万能的百度找出来问题以及解决方案.下面就说说我的解决方案: 一. ContextLoader.getCurrentWebApplicationContext(BeanName.claaa)  ------>  这种方案行不通 真正的解决方案 二. 1.首先在websoc

ECSHOP如何解决购物车中商品自动消失问题

最近有客户反映关于ECShop购物车的问题:需要加入多个商品到购物车时,发现之前加入到购物车的商品都自动消失了,只有最后一次加入购物车的商品在里面.那么,这是什么原因呢? 因为ECShop的SESSION采用IP生成用户唯一码,这样一来,多线接入的用户在路由自动切换时就会造成IP变化,这样,SESSION也就丢失了,与SESSION相关的登陆.购物车也就失效了. 解决办法有两种: 1.当用户第一次登陆时,将用户的IP存入Cookie 2.在生成SESSION时,不取IP,而是在用户的机器存一个加

spring注解注入:&lt;context:component-scan&gt;详解

spring从2.5版本开始支持注解注入,注解注入可以省去很多的xml配置工作.由于注解是写入java代码中的,所以注解注入会失去一定的灵活性,我们要根据需要来选择是否启用注解注入. 我们首先看一个注解注入的实际例子,然后再详细介绍context:component-scan的使用. 如果你已经在用spring mvc的注解配置,那么你一定已经在使用注解注入了,本文不会涉及到spring mvc,我们用一个简单的例子来说明问题. 本例中我们会定义如下类: PersonService类,给上层提供

【MARK】拦截器中自动注入失败问题

我在拦截器中想自动注入一个对象的时候发现无法注入,获取到的一直是null public class RestInterceptor implements HandlerInterceptor { @Autowired private EscUserMapper escUserMapper; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object hand

spring注解开发中常用注解以及简单配置

一.spring注解开发中常用注解以及简单配置 1.为什么要用注解开发:spring的核心是Ioc容器和Aop,对于传统的Ioc编程来说我们需要在spring的配置文件中邪大量的bean来向spring容器中注入bean对象, 然而,通过注解编程可以缩短我们开发的时间,简化程序员的代码编写. 2.如何开启注解开发:最常用的方法是使用<mvc:annotation-driven/>来开启注解编程(用一个标签配置了spring注解编程的映射器和适配器,同时配置了许多的参数) 3.如何将有注解的be