spring-使用注解实现Bean自动装配2

一、创建项目
    项目名称:spring100802
二、在项目中添加spring 支持
    1.在项目中创建lib目录
        /lib
    2.在lib目录下添加jar包
        commons-logging.jar
        junit-4.10.jar
        log4j.jar
        spring-beans-3.2.0.RELEASE.jar
        spring-context-3.2.0.RELEASE.jar
        spring-core-3.2.0.RELEASE.jar
        spring-expression-3.2.0.RELEASE.jar
三、在项目中添加配置文件
    1.在项目中创建conf目录
        /conf
    2.在conf目录添加配置文件
        配置文件名称:applicationContext.xml
        配置文件内容:
        <?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:context="http://www.springframework.org/schema/context"
               xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
        </beans>
四、相关bean的创建
    1.在src目录下创建dao
        包名:cn.jbit.spring100801.dao
        接口名:IUserDao.java
        接口中内容:
        /**
         * 持久层接口
         * @author Administrator
         *
         */
        public interface IUserDao {
            public int insert();
        }
        实现类名:UserDaoImpl.java
        实现类中内容:
        /**
         * 持久层实现类
         * @author Administrator
         *
         */
        @Repository("udao")
        public class UserDaoImpl implements IUserDao {
            @Override
            public int insert() {
                System.out.println("userDao被执行。。。");
                return 0;
            }
        }
    2.在src目录下创建service
        包名:cn.jbit.spring100801.service
        接口名:IUserService.java
        接口中内容:
        /**
         * 用户业务层接口
         * @author Administrator
         *
         */
        public interface IUserService {
            /**
             * 注册
             */
            public void register();
        }
        实现类名:UserServiceImpl.java
        实现类中内容:
        @Service("userService")
        public class UserServiceImpl implements IUserService {
            //调用持久层
            private IUserDao userDao;
            @Override
            public void register() {
                System.out.println("userService被执行。。。。");
                userDao.insert();
            }
            //装配bean操作,name="udao" 持久dao的id名称
            Resource(name="udao")
            public void setUserDao(IUserDao userDao) {
                this.userDao = userDao;
            }
            public IUserDao getUserDao() {
                return userDao;
            }
        }
    3.在配置文件中配置注解扫描和注解解析
        <!-- 通知spring解析常用的注解 -->
        <context:annotation-config/>
        <!-- 通知spring应用注解bean所在位置 -->
        <context:component-scan base-package="cn.jbit.spring100801"></context:component-scan>
五、测试
    1.在项目中创建test目录
        /test
    2.在test目录下创建测试包
        包名:cn.jbit.spring100801.service        
    3.在包下创建测试类
        类名:UserServiceImplTest.java
        内容:
        /**
         * 测试类
         * @author Administrator
         */
        public class UserServiceImplTest {
            
            /**
             * 测试登录方法
             */
            @Test
            public void testRegister(){
                //读取并解析配置文件
                ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
                //根据bean id获取bean
                IUserService userService = (IUserService) context.getBean("userService");
                //调用bean中方法
                userService.register();
            }
        }

时间: 2024-10-09 13:21:48

spring-使用注解实现Bean自动装配2的相关文章

Spring学习四、Bean自动装配与注解开发

七.Bean的自动装配 自动装配是Spring满足bean依赖的一种方式! Spring会在上下文中自动寻找bean,自动装备属性 在Spring中有三种自动装配方式 在xml中显示配置 在Java中显示配置 隐式的自动装配[重要] 7.1 测试 环境搭建:一个人两个宠物 7.2 ByName自动装配 <!-- ByName:会自动在容器上下文中查找,和自己对象set方法后面的值对应的beanid --> <bean id="people" class="c

spring-使用注解实现Bean自动装配1

一.创建项目    项目名称:spring100802二.在项目中添加spring 支持    1.在项目中创建lib目录        /lib    2.在lib目录下添加jar包        commons-logging.jar        junit-4.10.jar        log4j.jar        spring-beans-3.2.0.RELEASE.jar        spring-context-3.2.0.RELEASE.jar        spring

Spring -- Bean自动装配&amp;Bean之间关系&amp;Bean的作用域

Bean的自动装配 Spring IOC 容器可以自动装配 Bean. 需要做的仅仅是在 的 autowire 属性里指定自动装配的模式 有以下几种自动装配的类型: byType(根据类型自动装配): 若 IOC 容器中有多个与目标 Bean 类型一致的 Bean. 在这种情况下, Spring 将无法判定哪个 Bean 最合适该属性, 所以不能执行自动装配. byName(根据名称自动装配): 必须将目标 Bean 的名称和属性名设置的完全相同. constructor(通过构造器自动装配):

Bean自动装配-XML最小化配置

上一个讲了怎样用xml配置所有的Bean以及进行依赖注入,但是这样太麻烦了,对于每一个bean都要写一个xml,可以有几种方式进行自动装配. 四种装配方式 byName(通过名字装配,这时属性的名字必须与bean名字一致) byType(通过类型,匹配与interface或class相同的类型),这种是找到对应的方法,然后进行setter方法进行注入的 constructor(也是通过类型匹配,但是是通过new的进行装配的) 最佳自动装配(先用constructor装配,然后再用byType)

spring4.0.6最新稳定版新特性学习,注解自动扫描bean,自动注入bean(二)

Spring4.0的新特性我们在上一章已经介绍过了.包括它对jdk8的支持,Groovy Bean Definition DSL的支持,核心容器功能的改进,Web开发改进,测试框架改进等等.这张我们主要介绍spring4.0的自动扫描功能,以及对bean的过滤等特性进行学习. 好吧,废话少说,我们来看看代码吧. package com.herman.ss.test; import org.springframework.context.ApplicationContext; import org

Spring通过注解配置Bean

@Component: 基本注解, 标识了一个受 Spring 管理的组件@Repository: 标识持久层组件@Service: 标识服务层(业务层)组件@Controller: 标识表现层组件 配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&qu

Spring MVC系列-(2) Bean的装配

2. Bean的装配 Spring容器负责创建应用程序中的bean,并通过DI来协调对象之间的关系.Spring提供了三种主要的装配机制: XML显式配置: Java配置类进行显式配置: 隐式的bean发现机制和自动装配. 推荐使用Java配置类结合隐式的自动bean扫描机制. 2.1 通过XML装配Bean XML配置是Spring刚出现时的主要配置方式.这种方式需要手动编写XML,并在其中配置好Bean的定义. 创建XML并定义Bean 下面是Person类的定义, public class

XML 配置里的 Bean 自动装配

在XML文件中,先看一下下面的代码: <bean id="student" class="com.jeremy.spring.beans.student"> <property name="s_name" value="jeremy"></property> <property name="age" value="20"></prop

Spring4学习笔记 - 配置Bean - 自动装配 关系 作用域 引用外部属性文件

1 Autowire自动装配 1.1 使用:只需在<bean>中使用autowire元素 <bean id="student" class="com.kejian.spring.bean.autowire.Student" p:name="Tony" autowire="byName"></bean> 1.2 类型 byName 目标bean的id与属性名一置,若不匹配置为null byTy