zoukankan      html  css  js  c++  java
  • SpringMvc的IOC思想

    SpringMvc的IOC思想


    1、为什么要用IOC思想?

          之前的程序都是在类内部创建依赖对象(不反转的方式),缺点有很多:比如会导致类之间的高耦合,维护和可拓展性大大降低,所以推出IOC思想来优化改进这些缺点。

    2、IOC的原理

           IOC(Inversion of Control)只是一种对接口的(控制反转)思想,也是一种实现类依赖注入的手段实际上IOC也是一种工厂模式。就是把提前设计好的对象放到一个容器里,具体怎么放我们也不需要管,只需要配置好就行了,然后这些对象都会放到这个容器里,什么时候用的话回去IOC容器中找。

    3、配置步骤

    (非maven项目不用看:为了方便测试使用Junit工具,首先带入Junit的依赖,然后还需要spring-test的测试包,注意版本要和项目版本一致,然后在类前加Test注解就可以从这个类中进行测试了)

           加两个注解分别是@RunWith(测试类的完全限定名)和@ContextConfiguration(locations = "配置文件的位置"),第一个注解是允许读配置文件,第二个是告诉读哪里的配置文件。

    为了能实现在服务器启动的时候进行读取配置文件,要进行如下配置

    lister-class监听一下

    然后告诉去读哪里的配置文件

        接下来写配置信息,有两种方式

    第一种就是用Bean节点的方式(适合外部导入的jar包中的类)

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class User {
        private Integer id;
        private String username;
        private String likes;
    }
    <bean id="User" class="com.neuedu.pojo.User">
            <property name="id" value="1"></property>
            <property name="username" value="李白"></property>
            <property name="likes" value="打野"></property>
    </bean>

     第二种就是加注解的方法(适合于自己写的类)

    首先在类上加一个注解(下面五个选一个就可以)

    注意:拿取容器中内容的也要加注解

    (@Component //搞不清楚放那一层,

    @Repository //仓库
    @Service /rvice
    @Configration //配置类
    @Controller  //controller)
    配置信息为
     <context:component-scan base-package="包名(这个包下有注解的类都会被扫瞄)"></context:component-scan>
    

    4、如何使用容器中配置好的类

    使用@Resource注解

    @Resource
    private User user;

    注意:如果有多个类都实现了一个接口且被放到容器中,需要去掉多余的,不然会报错,也可以在@Resource注解中加name属性指定取出那个实现类。

  • 相关阅读:
    jmeter对数据库进行简单的压测
    数据库语言sql
    (二)变量的概念与分类
    (一)Java关键字与标识符
    socket之远程执行命令
    python文件操作
    UDP基础server与client
    TCP基础server与client
    Python 之 杂谈(迭代器iter)、偏函数
    python 之解决socket 粘包
  • 原文地址:https://www.cnblogs.com/mvpmvp/p/13418530.html
Copyright © 2011-2022 走看看