Spring框架之注解的使用(包括原始注解和新注解)

本文详细介绍了Spring框架中如何使用原始注解配置bean对象,包括@ComponentScan、@Autowired和@Qualifier的用法,同时指出了原始注解的局限性,并展示了Spring新注解如@Configuration、@PropertySource的使用示例,以及如何处理数据库连接池配置。
摘要由CSDN通过智能技术生成

Spring注解开发之使用原始注解配置bean对象以及注入依赖

        

第一步:配置组件扫描

       

 <context:component-scan base-package="com.zk"/>

        注:base-package表述需要被扫描的包

第二步:添加注解@Component(" ")用于配置bean对象        

@Component("userdao")

相当于配置

//<bean id="userdao" class="com.zk.Dao.userdaoimpl"></bean>

第三步:使用@Autowired和@Qualifier注入依赖也可以使用@Resouce(name=" ")进行注入(@Resouce相当于@Autowired和@Qualifier两个联合在一起)  

@Autowired @Qualifier("userdao")

        相当于

        <property name="dao" ref="userdao"></property>

      

普通属性的注入:

        使用@value(" ")进行注入

        注:@value(" ")可以去Spring容器里面取值例如:

        

@value("${jdbc.driver} ")

        ${}为Spring表达式,作用是在spring容器中寻找键名为jdbc.driver的值

原始注解的缺陷:

        1.无法声明非自定义的bean对象

        2.没有加载propertites配置的注解

        3.没有扫描组件配置的注解

        4.没有import配置的注解

Spring新注解的使用

        

使用示例:

package com.zk.config;

import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

import javax.sql.DataSource;
import java.beans.PropertyVetoException;

//声明该类是核心配置类
@Configuration
//配置组件扫描器
@ComponentScan("com.zk")
//将配置文件加载到spring容器中
@PropertySource("classpath:jdbc.properties")
public class SpringConfiguration {
    @Value("${jdbc.driver}")
    String driver;
    @Value("${jdbc.url}")
    String url;
    @Value("${jdbc.username}")
    String user;
    @Value("${jdbc.password}")
    String password;
    @Bean("dataSource")
    public DataSource getdatasource() throws PropertyVetoException {
        ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();
        comboPooledDataSource.setDriverClass(driver);
        comboPooledDataSource.setJdbcUrl(url);
        comboPooledDataSource.setUser(user);
        comboPooledDataSource.setPassword(password);
        return comboPooledDataSource;
    }
}

  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值