zoukankan      html  css  js  c++  java
  • spring整合web项目原理

    1.实现思想:把加载配置文件和创建对象过程,在服务器启动是完成。

    2.实现原理:

    (1)ServletContext对象

    (2)监听器

    (3)具体说明

        -在服务器启动时候,为每个项目创建一个ServletContext对象

        -在ServletContext对象创建时候,使用监听器可以监听到ServletContext对象在什么时候创建

        -使用监听器听到ServletContext对象创建的时候

            -加载spring配置文件,把配置文件配置对象创建

            -把创建出来的对象放到ServletContext域对象里面(setAttribute方法)

            -获取对象时候,到ServletContext域得到(getAttribute方法)

    二、注解创建对象

    1.加载约束

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

    2.创建类并在xml中实现配置

    <context:component-scan base-package="com.example.ano"></context:component-scan>

    import org.springframework.stereotype.Component;
    
    @Component(value="user")
    public class User {
        public void add(){
            System.out.println("add---------");
        }
    }

    3.建一个测试类

    package com.example.ano;
    
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class TestAno {
        @Test
        public void testUser() {
            ApplicationContext context = new ClassPathXmlApplicationContext(
                    "bean1xml.xml");
            User user1=(User) context.getBean("user");
            System.out.println(user1);
            user1.add();
        }
    
    }

     注解注入对象:

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

    (1)注入属性第一注解@Autowired

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    @Service(value="userService")
    public class UserService {
        //得到dao对象
        //1.创建dao属性
        //在dao属性上注解完成对象扥注入
        @Autowired
        private UserDao userDao;
        //使用注解方式不需要set方法
        public void add(){
            System.out.println("service-----------");
            userDao.add();
        }
    }
    import org.springframework.stereotype.Component;
    
    @Component(value="userDao")
    public class UserDao {
       public void add(){
           System.out.println("dao-----------.");
       }
    }

    (2)注入属性第一注解

         //name属性值写注解创建Dao对象value值
        @Resource(name="userDao")

  • 相关阅读:
    grafana里prometheus查询语法
    Linux 高频工具快速教程
    国内开源镜像站点汇总
    Oracle DBLINK 简单使用
    启动OpenOffice服务
    使用openoffice转pdf,详细
    ORACLE数据库误操作执行了DELETE,该如何恢复数据?
    一个 介绍 superset Kylin 以及大数据生态圈的 博文
    Kylin介绍 (很有用)
    找到一些经验,关于使用thymeleaf时遇到的一些问题
  • 原文地址:https://www.cnblogs.com/xxdebug/p/8683157.html
Copyright © 2011-2022 走看看