Java教程

2021-11(java-spring学习笔记二)

本文主要是介绍2021-11(java-spring学习笔记二),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

一、Bean的自动装配

1.byName和byType装配

2.使用注解实现装配

@Autowired

@Resource

二、使用注解开发

三、代理模式

静态代理

动态代理

四、AOP

1、aop在spring中的作用

第一种方式

第二种方式实现aop

第三种方式,使用注解


一、Bean的自动装配

  • 自动装配是Spring满足bean依赖一种方式
  • Spring会在上下文中自动寻找,并自动给bean装配属性

在Spring中有三种装配方式

  1. 在xml中显示的配置
  2. 在java中显示配置
  3. 隐式的自动装配bean【重要】

1.byName和byType装配

    <bean id="cat" class="com.kun.pojo.Cat"></bean>
    <bean id="dog" class="com.kun.pojo.Dog"></bean>
<!--    byName会自动在容器上下文查找,和自己set方法后面的值对应的beanId
        byType找对象相同的对象属性

-->
    <bean id="people" class="com.kun.pojo.People" autowire="byType">
        <property name="name" value="带鱼"/>
<!--        <property name="cat" ref="cat"/>-->
<!--        <property name="dog" ref="dog"/>-->
        
    </bean>

2.使用注解实现装配

1.导入约束

2.配置注解的支持

<?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">

    <context:annotation-config/>

</beans>

@Autowired

直接在属性上使用或者在set方法上使用,使用了以后可以不用写set方法了,且符合byType。

<!--开通注解支持-->
    <context:annotation-config/>
    @Autowired
    private Cat cat;
    @Autowired
    private Dog dog;

科普:@Nullable    字段标记的注解,说明这个值可以为空

        如果autowired,require为false表示允许cat在容器中不存在

提过自动装配有多个或者复杂,无法匹配用

    @Autowired
    @Qualifier(value = "dog22")
    private Dog dog;

@Resource

先匹配名字在匹配类型

可以加name属性里的value值确定装配

两者的区别:

  • 都是用来自动装配的
  • autowired用过bytype
  • resource默认通过byname方式,如果找不到在通过byType

二、使用注解开发

必须导入aop包,使用注解需要导入context约束,增加注解的支持

    <!--指定要扫描的包,这个包下的注解生效-->
    <context:component-scan base-package="com.kun.pojo"/>
    <!--开通注解支持-->
    <context:annotation-config/>

1、bean

2、属性注入

这篇关于2021-11(java-spring学习笔记二)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!