• Spring——注解代替XML配置文件,Spring与JUnit整合


    使用注解代替XML配置文件

    1、导包

    spring-aop.jar

    2、为主配置文件引入新的命名空间(约束)

    <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd ">

    3、开启使用注解代替配置文件

    <!-- 指定扫描cn.x5456.domain包下的所有类中的注解.
         注意:扫描包时.会扫描指定报下的所有子孙包
     -->
    <context:component-scan base-package="cn.x5456.domain"></context:component-scan>
    

    4、在类中使用注解完成配置

    1)将对象注册到容器

    @Component("user")      // 注册当前类到容器中
    @Scope(scopeName="singleton")   // 指定对象是单例还是多例
    public class User {
    

    相当于Xml配置文件中的

    <bean name="user" class="cn.x5456.domain.User" scope="singleton" />

    单例与多例的区别

    • singleton:单例(放在容器中)
    • prototype:你用的时候初始化一个对象,交给你,他就不管了(不在容器中)

    一下的三种注解与Component是相同的,只是代表不同的意思

    @Service("user") // service层
    @Controller("user") // web层
    @Repository("user")// dao层

    2)值类型注入

    方法一:

    方法二:

    3)引用类型(对象)注入

    如果字段中包含除8大基本类型以外的对象,则需要将那个对象也注册到容器中。

    1>注册到容器中

    2>将Car对象装配到User中的字段中

    方法一:

    方法二:

    4)初始化与销毁方法

    相当于

    <bean name="user" class="cn.x5456.domain.User" init-method="init" destroy-method="destory"></bean>

    Spring中整合的JUnit

    1、导包

    4+2+aop+test

    2、配置生成容器的注解

     1 // Spring人性化,不忍心看我们在每个方法中都获取容器,所以它帮我们做了这一步
     2 @RunWith(SpringJUnit4ClassRunner.class)     // 创建容器
     3 @ContextConfiguration("classpath:spring-config.xml")    // 通过类加载形式,读取配置文件,创建对象
     4 public class HelloSpring {
     5 
     6     @Resource(name="user")  // (从容器中取出user对象)注入
     7     private User user;
     8 
     9     @Test
    10     public void func(){
    11         // 获取容器
    12 //        ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("spring-config.xml");
    13         // 取出user对象
    14 //        User user = (User) ac.getBean("user");
    15 
    16         System.out.println(user);
    17     }
    18 }
    View Code
  • 相关阅读:
    菜单导航组件
    flask+nginx+uwsgi在服务器搭建项目
    安装Anaconda
    vscode上eslink包失效
    js滚动事件
    打字游戏
    js更高文档的样式
    js事件
    Dom对象更改文档结构.html
    js重点
  • 原文地址:https://www.cnblogs.com/x54256/p/8485113.html
Copyright © 2020-2023  润新知