关于spring的bean的一些介绍

本来是打算写一个关于HttpServletRequest的工具类来保存session,但是发现request可以注入到Controller层,但无法注入到工具类里面,针对此情况出来了这篇文章。
这篇文章主要讲两个内容:
1、如何定义bean.
2、如何将bean注入.

一、定义bean的两种方式
1、通过配置文件来定义bean:

<bean id="sessionUtils" class="com.drink.common.utils.SessionUtils"></bean>

2、通过注解的形式定义(此方式比较流行):
@Component: 可以将所有的类转换成bean
@Repository:用于对DAO实现类进行标注;
@Service:用于对Service实现类进行标注;
@Controller:用于对Controller实现类进行标注
@Configuration:将一个POJO标注为定义Bean的配置类
@Bean:定义一个产生bean的方法

@Configuration
public class SessionUtils{
}
此注解就相当于:
<bean id="sessionUtils" class="com.drink.common.utils.SessionUtils"></bean>

    @Bean
    public SessionUtils createUtils(){
        return new SessionUtils();
    }   
    在容器中生成一个名字为createUtils的bean

第二:关于注入
使用注解方式最为流行:
注解分为两种:
byType @Autowired
byName @Resource
@Qualifier指定注入Bean的名称(不使用此注解,默认情况下名称为bean的首字母小写的名称)
如果希望Spring即使找不到匹配的Bean完成注入也不用抛出异常,那么可以使用@Autowired(required=false)

属性注入:

    SessionUtils sessionUtils;

    public void setSessionUtils(SessionUtils sessionUtils) {
        this.sessionUtils = sessionUtils;
    }


        <bean id="sessionUtils" class="com.drink.common.utils.SessionUtils"></bean>
        <bean id="sysLoginController" class="com.drink.modules.sys.controller.SysLoginController">
            <property name="sessionUtils" ref="sessionUtils"></property>
        </bean> 

构造方法输入:

    SessionUtils sessionUtils;

    public void setSessionUtils(SessionUtils sessionUtils) {
        this.sessionUtils = sessionUtils;
    }

    public SysLoginController(SessionUtils sessionUtils) {
        this.sessionUtils = sessionUtils;
    }


        <bean id="sessionUtils" class="com.drink.common.utils.SessionUtils"></bean>
        <bean id="sysLoginController" class="com.drink.modules.sys.controller.SysLoginController">
            <constructor-arg ref="sessionUtils"></constructor-arg>
        </bean> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值