Spring配置使用注解注入bean

前面的Spring之IOC讲述的是在配置文件里面配置注入bean,在这里我们使用注解的方式来注入bean。
配置文件配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
                        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                        http://www.springframework.org/schema/aop 
                        http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
                        http://www.springframework.org/schema/context 
                        http://www.springframework.org/schema/context/spring-context-3.0.xsd
                        http://www.springframework.org/schema/tx 
                        http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
    ">

    <!-- c3p0数据库连接池 -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
        destroy-method="close">
        <!-- 数据库基本信息配置 -->
        <property name="url" value="jdbc:oracle:thin:@192.168.1.234:1521:ORCL" />
        <property name="username" value="LS" />
        <property name="password" value="LS" />
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
    </bean>
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    <!-- <bean id="pathWayDaoImp" class="com.winning.dm.dao.PathWayDaoImp">
        <property name="jdbcTemplate" ref="jdbcTemplate"></property>
    </bean>
    <bean id="pathWayService" class="com.winning.dm.service.PathWayService">
        <property name="pathWayDaoImp" ref="pathWayDaoImp"></property>
    </bean> -->
    <context:annotation-config></context:annotation-config>
    <context:component-scan base-package="com.winning"></context:component-scan>

</beans>

里面只注入了dataSource和jdbcTemplate两个bean。
下面我们注入dao,实验代码如下:

//
@Component
public class PathWayDaoImp extends JdbcDaoSupport implements IPathWayDao {
    private static Logger logger = Logger.getLogger(PathWayDaoImp.class);

    @Autowired
    public PathWayDaoImp(JdbcTemplate jdbcTemplate) {
        super.setJdbcTemplate(jdbcTemplate);
    }

@Autowired和@Component两个标签可以使用
@Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作。
@component (把普通pojo实例化到spring容器中,相当于配置文件中的)
下面展示service调用dao使用bean的代码:

@Service
public class PathWayService {

    public PathWayDaoImp pathWayDaoImp;

    @Resource(name = "pathWayDaoImp")
    public void setPathWayDaoImp(PathWayDaoImp pathWayDaoImp) {
        this.pathWayDaoImp = pathWayDaoImp;
    }

@Resource(name = “pathWayDaoImp”)和@Service
@Service用于标注业务层组件
@Resource(name = “pathWayDaoImp”)与@Autowired功能类似。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页