• springmvc学习指南 之第39篇 @Configuration注解


    @Configuration这个单词的字面是配置的意思,那么他放在类上,就是一个配置类

    //这个类将设置为配置类,相当于一个配置文件aplicationContext.xml这个文件
    @Configuration
    public class AppConfig {
        /**
         *  相当于一个bean标签
          */
        //相当于添加了如下的配置
    //<bean id="articleDAO" class="com.st.dao.IArticleDAO">
        @Bean
        public IArticleDAO articleDAO(){
            return new ArticleDAO();
        }
        @Bean(autowireCandidate = false)
        public IArticleDAO articleDAO_other(){
            return new ArticleDAO_other();
        }
    
        @Bean
        public IAutorDAO autorDAO(){
            return new AuthorDAO();
        }
        @Bean(autowire = Autowire.BY_TYPE)
        public ArticleService articleService(){
            ArticleService articleService = new ArticleService();
    //        articleService.setArticleDAO(articleDAO());
    //        articleService.setAutorDAO(autorDAO());
            return articleService;
        }
    }

    这个要和xml的配置方式对应,就相当于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"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd">
        <!-- 注册accountDAO -->
        <bean id="accountDAO" class="com.zyt.xml.demo1.dao.AccountDAO">
        </bean>
        <!-- 注册accountService -->
        <bean id="accountService" abstract="false" lazy-init="true" class="com.zyt.xml.demo2.service.AccountService" autowire="byType">
            <!-- 给accountService注入属性accountDAO -->
    <!--        <property name="accountDAO" ref="accountDAO"/>-->
        </bean>
         <!-- mysql-dao -->
        <bean id="mysqlDAO" autowire-candidate="true" class="com.zyt.xml.demo2.dao.impl.AccountDAO_mysql"/>
         <!-- oracle-dao -->
        <bean id="oracleDAO" primary="true" class="com.zyt.xml.demo2.dao.impl.AccountDAO_oracle"/>
        <bean init-method="init" destroy-method="destroy" class="com.zyt.xml.demo2.dao.impl.OtherUtil"/>
    </beans>

    同时可以看到,applicationContext.xml中有一个<bean>标签,那么就是@Bean注解 实现的功能是一致的

    由此可涉及,以后看到spring注解 都要试图寻找对应的xml实现标签,二者对应才能更好的理解springmvc

  • 相关阅读:
    Java hibernate 遇到的问题:could not read a hi value
    Java 小知识
    Java 在使用@Select遇到的问题:拼接字符串将数组拼为了字符串
    飞逝的光阴
    终于回来了
    再说创客
    离开一段时间
    抛弃QP
    关于创客
    对DTU系统结构的重新思考
  • 原文地址:https://www.cnblogs.com/zytcomeon/p/15702356.html
Copyright © 2020-2023  润新知