iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Springbean加载控制实现方法
  • 578
分享到

Springbean加载控制实现方法

Springbean加载控制bean加载控制 2022-12-23 12:12:47 578人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录1. Controller加载控制1.1 Controller加载控制与业务bean加载控制1.2 加载spring控制的bean的时候排除掉springMVC控制的bean(方

1. Controller加载控制

因为功能不同,要避免Spring错误的加载到Springmvc的bean

1.1 Controller加载控制与业务bean加载控制

SpringMVC相关bean(表现层bean)

Spring控制的bean

  • 业务bean(Service)
  • 功能bean(DataSource等)

SpringMVC相关bean加载控制

  • SpringMVC加载的bean对应的包均在com.zhang.controller包内

Spring相关bean加载控制

  • 方式一:Spring加载的bean设定扫描范围为com.zhang,排除掉controller包内的bean
  • 方式二:Spring加载的bean设定扫描范围为精准范围,例如service包、dao包等
  • 方式三:不区分Spring与SpringMVC的环境,加载到同一个环境中

1.2 加载Spring控制的bean的时候排除掉SpringMVC控制的bean(方式一)

名称:@ComponentScan

类型:类注解

范例

package com.zhang.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.stereotype.Controller;
@Configuration
@ComponentScan(value = "com.zhang", excludeFilters = @ComponentScan.Filter(
        type = FilterType.ANNOTATION,
        classes = Controller.class
))
public class SprinGConfig {
}

属性

  • excludeFilters:排除扫描路径中加载的bean,需要指定类别(type)与具体项(classes)
  • includeFilters:加载指定的bean,需要指定类别(type)与具体项(classes)

1.3 验证是否排除成功

创建spring容器加载spring配置文件,然后根据类型获取表现层的bean,如果不能获取则证明加载Spring控制的bean的时候成功排除掉SpringMVC控制的bean;这里值得一提的是,需要把SpringMVCConfig配置类上的@Configuration注释掉;

package com.zhang;
import com.zhang.config.SpringConfig;
import com.zhang.controller.UserController;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class App {
    public static void main(String[] args) {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
        UserController userController = context.getBean(UserController.class);
        System.out.println(userController);
    }
}

1.4 运行结果

证明加载Spring控制的bean的时候成功排除掉SpringMVC控制的bean

2. Bean的加载格式

extends AbstractDispatcherServletInitializer

public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer { 
    protected WEBApplicationContext createServletApplicationContext() { 
        AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
        ctx.reGISter(SpringMvcConfig.class);
        return ctx;  
    }   
    protected WebApplicationContext createRootApplicationContext() {  
        AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();      
        ctx.register(SpringConfig.class);        
        return ctx;  
    }   
    protected String[] getServletMappings() { 
        return new String[]{"/"}; 
    }
}

简化格式

extends AbstractAnnotationConfigDispatcherServletInitializer

public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer{
    protected Class<?>[] getServletConfigClasses() {
        return new Class[]{SpringMvcConfig.class}
    };
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }
    protected Class<?>[] getRootConfigClasses() {
        return new Class[]{SpringConfig.class};
    }
}

到此这篇关于Spring bean加载控制实现方法的文章就介绍到这了,更多相关Spring bean加载控制内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Springbean加载控制实现方法

本文链接: https://www.lsjlt.com/news/175649.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Springbean加载控制实现方法
    目录1. Controller加载控制1.1 Controller加载控制与业务bean加载控制1.2 加载Spring控制的bean的时候排除掉SpringMVC控制的bean(方...
    99+
    2022-12-23
    Spring bean加载控制 bean加载控制
  • SpringMVC bean实现加载控制方法详解
    目录1、Spring配置类排除加载SpringMVC的bean2、Servlet容器配置类简洁开发1、Spring配置类排除加载SpringMVC的bean SpringMVC 通常...
    99+
    2022-11-13
  • Spring bean加载控制如何实现
    这篇文章主要讲解了“Spring bean加载控制如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring bean加载控制如何实现”吧!1. Controll...
    99+
    2023-07-04
  • openstack中控制台无法加载 加载太慢
    如果在OpenStack控制台加载过慢或无法加载,可能有以下几个原因和解决方法:1. 网络连接问题:请确保您的网络连接稳定,并且能够...
    99+
    2023-10-11
    openstack
  • SpringMVC bean加载控制的实现分析
    目录一、问题分析二、思路分析三、环境准备四、设置bean加载控制一、问题分析 入门案例的内容已经做完了,在入门案例中我们创建过一个SpringMvcConfig的配置类,再回想前面咱...
    99+
    2023-02-06
    SpringMVC bean加载控制 SpringMVC bean加载机制
  • Mybatis加载策略的实现方法
    目录MaBatis加载策略1.什么是延迟加载1.2实现1.2.1局部延迟加载1.2.2设置触发延迟加载的方法1.2.3全局延迟加载MaBatis加载策略 1.什么是延迟加载 Myba...
    99+
    2022-11-13
  • Oracle数据加载和卸载的实现方法
    在日常工作中;经常会遇到这样的需求: Oracle 数据表跟文本或者文件格式进行交互;即将指定文件内容导入对应的 Oracle 数据表中;或者从 Oracle 数据表导出。 其他数据库中的表跟Or...
    99+
    2022-10-18
  • Spring的事务控制实现方法
    Spring的事务控制实现,供大家参考,具体内容如下 提示:这里使用的是xml的方式配置事务的 前言 例:当银行转账的时候,如果转账和收款的一方出现问题,那么这次的转账则不成功,此处...
    99+
    2022-11-13
  • MySQL 加锁控制并发的方法
    前言 锁总体可以分为乐观锁和悲观锁,简单说,乐观锁用版本号控制,悲观锁用锁控制。 下面是待会要用来测试的数据 # 添加一个user表 CREATE TABLE `users` ( `id` int(11) N...
    99+
    2022-05-14
    MySQL 加锁 MySQL 并发
  • Android 实现加载大图片的方法
    项目简介: 该项目为加载大图片 详细介绍: 对于超大的图片,如果不缩放的话,容易导致内存溢出。而经过处理后,无论多大的图片,都能够在手机屏幕上加载出来,不会导致内存溢出。当然,...
    99+
    2022-06-06
    方法 图片 Android
  • PHP7.4中怎么实现预加载方法
    这篇文章将为大家详细讲解有关PHP7.4中怎么实现预加载方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言PHP 7.4增加了预加载支持,这一功能可以显...
    99+
    2022-10-18
  • Flutter WebView 预加载实现方法(Http Server)
    目录背景分析HttpServer接下来?资源配置下载解压与本地存储版本管理与更新获取LocalServer Url并加载Webview兜底措施统一管理展示与分析总结Demo背景 We...
    99+
    2022-11-13
  • vue-router如何实现路由懒加载和权限控制
    本篇内容主要讲解“vue-router如何实现路由懒加载和权限控制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue-router如何实现路由懒加载和权限控制”吧!1、为什么要使用路由懒加载呢...
    99+
    2023-07-04
  • Android自定义加载控件实现数据加载动画
    本文实例为大家分享了Android自定义加载控件,第一次小人跑动的加载效果眼前一亮,相比传统的PrograssBar高大上不止一点,于是走起,自定义了控件LoadingView...
    99+
    2022-06-06
    数据 动画 Android
  • JavaScript中实现并发控制的方法
    这篇文章将为大家详细讲解有关JavaScript中实现并发控制的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、并发控制简介在日常开发过程中,你可能会遇到并发控制的场景,比如控制请求并发数。那么在 ...
    99+
    2023-06-15
  • ahooks控制时机的hook实现方法
    目录引言Function Component VS Class ComponentClass ComponentFunction ComponentLifeCycle - 生命周期u...
    99+
    2022-11-13
  • Android实现加载时提示“正在加载,请稍后”的方法
    前言 这篇文章主要介绍的是,如何实现点击按钮,弹出“正在加载数据,请稍候…”对话框,加载完了之后,对话框自动消失呢? 其实也是很简单的看下面代码: import com.fa...
    99+
    2022-06-06
    方法 Android
  • Vuerouter的addRoute方法实现控制权限方法详解
    目录路由分为静态路由和动态路由静态路由和动态路由的优缺点动态路由实现思路动态路由遇到的问题与解决方式路由分为静态路由和动态路由 静态路由和动态路由的优缺点 1、中大型项目,采用的都是...
    99+
    2022-11-13
  • lazy init控制加载在Spring中如何实现源码分析
    目录一、lazy-init说明二、lazy-init 属性被设置的地方三、lazy-init发挥作用的地方四、问答一、lazy-init说明 ApplicationContext实现...
    99+
    2022-11-13
  • vue-router中怎么实现路由懒加载和权限控制
    今天就跟大家聊聊有关vue-router中怎么实现路由懒加载和权限控制,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、为什么要使用路由懒加载呢用v...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作