欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Bean管理(注解)和AOP

程序员文章站 2022-07-02 14:37:11
spring的bean管理(注解) 注解写法:@注解名称(属性名称=属性值) 注解使用在类上面,方法上面和属性上面 Spring注解开发的准备 4.1 上一篇做ioc的基本功能,引入的是beans 4.2 做spring的ioc注解开发,还要引入新的约束(context) 4.3 在上一步中的xml ......

 

spring的bean管理(注解)

  注解写法:@注解名称(属性名称=属性值)

  注解使用在类上面,方法上面和属性上面

  Spring注解开发的准备

    1. 导入基本jar包,与spring的bean管理(配置文件)的那一章节引用相同;
    2. 导入aop的jar包
    3. 创建类,创建方法
    4. 创建spring配置文件,引入约束

        4.1 上一篇做ioc的基本功能,引入的是beans

        4.2 做spring的ioc注解开发,还要引入新的约束(context)

         Bean管理(注解)和AOP  

         4.3 在上一步中的xml配置文件中加入开启注解扫描的标签,其中base-package是待创建类所在包的名字,可以只写到父包名,这样会包含所有的子包名

           Bean管理(注解)和AOP   

  • 使用注解创建对象

    1.  在待创建对象的类上面使用注解@Component
@Component(value = "user")   //完全等同于在xml中添加标签 <bean id="user" class =""/>;可以看出value就是bean中的id值
public class User{
    public void add(){
          System.out.println("add.....");
      }  
} 

       2.  依然可以采用相同写法的测试代码对以上待创建类进行测试,注意getBean方法中的参数此时为注解中value值,此处也看出注解中value和xml中的配置对象的id为同一个东西

      Bean管理(注解)和AOP

      3.  创建对象还有其他三个注解

       Bean管理(注解)和AOP

      4.    创建对象是单实例还是多实例(不写默认是单实例)

        方法:在@Component注解下添加@Scope(value=“prototype”)

  • 使用注解注入属性

      1.案例:创建service类,创建dao类,在service得到dao对象,

        方法一:使用@Autowired   [根据类名来找到需要创建对象的类,此注解没有参数,是根据被注解的属性的类型来确定类名]

        方法二:使用@Resource(name="userDao")  [此userDao即是类UserDao中注解的value值,也可以是xml中待创建类的id值]

@Compontent(value="userService")//value这个单词可以省略不写
public class UserService{
      //1定义dao类型属性

     //使用注解方式时候不需要set方法 ,在dao属性上面使用注解完成对象注入 

        @Autowired
        private UserDao userDao;
   
        public void add() {
            userDao.add();
     }
}
//另一个java文件中
@Compontent(value="userDao")
public class UserDao{
      public void add(){
          System,out.println("add........");
    }
}  

 

  • xml和注解方式的混合使用

     方式:创建对象操作使用配置文件方式实现(如下1.1);

        注入属性操作使用注解方式实现(如下1.2)

    1. 案例:在BookService类中调用BookDao类和OrdersDao类

          1.1 在xml中添加待创建类  (等同于在类中直接使用@Compontent(value="userDao")这种写法)

          Bean管理(注解)和AOP

          1.2  在BookService类中添加属性(两个Dao类),以下@Resource(name ="bookDao")中name的取值,为xml中对应的id值,也可以把xml添加待创建对象的bean标签理解为在待创建的类中加了@Compontent(value="bookDao"),两个效果是一样的

          Bean管理(注解)和AOP

          

AOP

  • aop概述

  • aop底层原理

  • aop操作相关术语

spring的aop操作(基于aspectj的xml方式)

log4j介绍

spring整合web项目演示