zoukankan      html  css  js  c++  java
  • Spring学习笔记

    1:使用构造函数<constructor-arg/>时,实体类需要有参构造,无参构造可有可无

    • 报错:Could not resolve matching constructor

     

    2:使用setter的DI注入时,可有可无 有参无惨构造。

    • 默认调用无参构造。

    • 只要是DI注入的方式,在调用了ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");之后,在bean.xml下的所有DI,都会调用该类下的无参构造(无论以后调不调用getbean()方法)

    • 当为这种情况时,有构造器方式,

      •   

            

    3:使用注解实现自动装配(@Autowired与@Resource)

    • bean里面不再需要autowire="byType"或 autowire="byName",更加简洁

      1. 导入context约束:

        xmlns:context=http://www.springframework.org/schema/context

        http://www.springframework.org/schema/context

        https://www.springframework.org/schema/context/spring-context.xsd

      2. 配置注解支持:context:annot-config/

      3. 使用@Autowired:

        直接在属性上使用即可!也可以在set方式上使用!使用Autowired我们可以不用编写Set方法了,前提是你这个自动装配的属性在IoC(Spring)容器中存在,且符合名字byName!跟@Qualifier(value="xxx")配合使用,当有多个bean的类型相同,而id都不与属性名字相同时,人为选择一个

         

        @Resource和@Autowired的区别:

         

        - 都是用来自动装配的,都可以放在属性字段上;

        - @Autowired通过byType的方式实现,而且必须要求这个对象存在!【常用】

        - @Resource默认通过byName的方式实现,如果找不到名字,则通过byType实现!如果两个都找不到的情况下,就报错!

        - 执行顺序不同:@Autowired通过byType的方式实现,@Resource默认通过byName的方式实现。

         

         

    4、代理模式即为不改变原有业务的基础上扩展业务

     

    5、spring与mabatis整合jar包

    <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.11</version>
    <!--            <version>5.1.46</version>-->
            </dependency>
    
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.5.2</version>
            </dependency>
    
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
            </dependency>
    
            <!-- https://mvnrepository.com/artifact/log4j/log4j -->
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>5.2.0.RELEASE</version>
            </dependency>
            <!--spring操作数据库的话,还需要一个spring-jdbc-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>5.2.0.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>1.8.13</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>2.0.3</version>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.10</version>
            </dependency>
    
    
        </dependencies>
    
    
        <!--在build中配置resources,来防止我们资源导出失败的问题-->
        <build>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                    <includes>
                        <include>**/*.properties</include>
                        <include>**/*.xml</include>
                    </includes>
                </resource>
                <resource>
                    <directory>src/main/java</directory>
                    <includes>
                        <include>**/*.properties</include>
                        <include>**/*.xml</include>
                    </includes>
                    <filtering>true</filtering>
                </resource>
            </resources>
        </build>
    pom
  • 相关阅读:
    Google analytics平均页面停留时间为何是0
    用易语言拦截窗口消息(带例程)
    OS + Linux RHEL / RedHat Enterprise 5 / 6 / 6.3
    Oracle学习教程:动态SQL与游标详解
    图解Oracle数据库(二)
    Oracle数据库中listener.ora sqlnet.ora tnsnames.ora的区别
    正确理解javascript的this关键字
    深入理解Javascript之this关键字
    Oracle中动态SQL详解
    oracle维护常用SQL语句(查看系统表和视图)
  • 原文地址:https://www.cnblogs.com/-jiandong/p/12856174.html
Copyright © 2011-2022 走看看