且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-10-02 23:18:35

一、创建项目
    项目名称: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操作
            @Autowired
            //指定bean id
            @Qualifier("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();
            }

        }

本文转自  素颜猪  51CTO博客,原文链接:http://blog.51cto.com/suyanzhu/1561198