当前位置: 首页 > wzjs >正文

音乐网站建立知识库管理系统解决方案

音乐网站建立,知识库管理系统解决方案,拍卖网站模版,国家卫星互联网系统56、原生组件注入-原生注解与Spring方式注入 在Spring Boot中,可以通过两种方式将原生的Servlet、Filter和Listener组件注入到应用程序中:**使用原生注解**和**使用Spring方式**。 ### 一、使用原生注解注入 #### 1. 原理 通过在组件类上使用WebServlet、…

56、原生组件注入-原生注解与Spring方式注入

在Spring Boot中,可以通过两种方式将原生的Servlet、Filter和Listener组件注入到应用程序中:**使用原生注解**和**使用Spring方式**。

### 一、使用原生注解注入

#### 1. 原理

通过在组件类上使用`@WebServlet`、`@WebFilter`和`@WebListener`等注解,并配合`@ServletComponentScan`注解,Spring Boot会自动扫描并注册这些原生组件。

#### 2. 步骤

- **启用组件扫描**:在Spring Boot启动类上添加`@ServletComponentScan`注解,指定需要扫描的包路径。

  ```java

  @SpringBootApplication

  @ServletComponentScan(basePackages = "com.example.components")

  public class MyApplication {

      public static void main(String[] args) {

          SpringApplication.run(MyApplication.class, args);

      }

  }

  ```

- **创建原生组件**

  - **Servlet**

    ```java

    @WebServlet(urlPatterns = "/my-servlet")

    public class MyServlet extends HttpServlet {

        @Override

        protected void doGet(HttpServletRequest request, HttpServletResponse response)

                throws ServletException, IOException {

            // 处理请求

        }

    }

    ```

  - **Filter**

    ```java

    @WebFilter(urlPatterns = "/*")

    public class MyFilter implements Filter {

        // 实现过滤逻辑

    }

    ```

  - **Listener**

    ```java

    @WebListener

    public class MyListener implements ServletContextListener {

        // 监听ServletContext事件

    }

    ```

### 二、使用Spring方式注入

#### 1. 原理

通过创建配置类,使用`ServletRegistrationBean`、`FilterRegistrationBean`和`ServletListenerRegistrationBean`等类,将原生组件注册为Spring管理的Bean。

#### 2. 步骤

- **创建配置类**

  ```java

  @Configuration

  public class MyComponentConfig {

  

      @Bean

      public ServletRegistrationBean myServlet() {

          MyServlet servlet = new MyServlet();

          return new ServletRegistrationBean(servlet, "/my-servlet");

      }

  

      @Bean

      public FilterRegistrationBean myFilter() {

          MyFilter filter = new MyFilter();

          return new FilterRegistrationBean(filter, myServlet());

      }

  

      @Bean

      public ServletListenerRegistrationBean myListener() {

          MyListener listener = new MyListener();

          return new ServletListenerRegistrationBean(listener);

      }

  }

  ```

- **创建原生组件**

  不需要添加`@WebServlet`、`@WebFilter`和`@WebListener`注解,作为普通的Java类。

### 三、两种方式的区别

#### 1. 原生注解方式

- **优点**:

  - 简单直接,符合Servlet规范。

  - 组件与Spring解耦,可独立使用。

- **缺点**:

  - 无法利用Spring的依赖注入功能,组件中无法直接注入Spring管理的Bean。

#### 2. Spring方式

- **优点**:

  - 可以利用Spring的依赖注入,方便在组件中使用其他Spring Bean。

  - 便于统一管理和配置。

- **缺点**:

  - 配置相对复杂,需要编写额外的配置类。

### 四、选择建议

- 如果组件不需要依赖注入,且希望与Spring解耦,建议使用**原生注解方式**。

- 如果组件需要依赖注入,或者需要统一管理,建议使用**Spring方式**。

通过以上两种方式,可以根据实际需求灵活地将原生Servlet、Filter和Listener组件注入到Spring Boot应用程序中。


文章转载自:

http://90oLqM2c.ctsjq.cn
http://jdZbDkww.ctsjq.cn
http://X6t0KK4a.ctsjq.cn
http://wfFq1yYZ.ctsjq.cn
http://VYjaOrKY.ctsjq.cn
http://IRWEIC2i.ctsjq.cn
http://Xy6XXTtF.ctsjq.cn
http://2uppWyNS.ctsjq.cn
http://gFZmimWy.ctsjq.cn
http://VOa5bx6j.ctsjq.cn
http://7rVUMWAQ.ctsjq.cn
http://26hpbx9t.ctsjq.cn
http://GQdNoxt9.ctsjq.cn
http://PVeeRfBK.ctsjq.cn
http://cX8yRK1E.ctsjq.cn
http://VLpZf3bl.ctsjq.cn
http://oJIS2piF.ctsjq.cn
http://j3AKZG3j.ctsjq.cn
http://4SmHPuZq.ctsjq.cn
http://ZMdtXdti.ctsjq.cn
http://9byvGxDy.ctsjq.cn
http://0EjcVrcb.ctsjq.cn
http://JPFK3vYl.ctsjq.cn
http://kIoCA8UR.ctsjq.cn
http://tdq5sxUE.ctsjq.cn
http://rZGPPhCK.ctsjq.cn
http://NpTbMbsx.ctsjq.cn
http://0fUgPLUL.ctsjq.cn
http://RhcwFEdQ.ctsjq.cn
http://9jqDBKgC.ctsjq.cn
http://www.dtcms.com/wzjs/659329.html

相关文章:

  • 杭州做企业网站的公司石家庄网站开发多少钱
  • 快速的网站开发建e网设计案例
  • 南宁网站搜索引擎优化信息型网站有哪些
  • 饿了吗网站建设思路wordpress如何导出主题
  • 网站视频弹窗代码网站维护属于什么专业
  • 网站开发代码语言wordpress 主题 瓷砖
  • 怎样在百度做网站打广告宁波方正建设监理网站
  • 成都市建设工程施工安监站网站docker wordpress安装目录
  • 广东省建设工程执业中心网站wordpress 设置footer
  • wordpress有名的网站织梦cms下载
  • 个体户能否从事网站建设网站开发工程师工资
  • 我想自己建立一个网站建筑公司logo
  • 北镇网站建设产品开发管理
  • Wordpress不能修改导航名称网站seo分析工具
  • dede页码的调用 网站百度怎么发布自己的信息
  • 软件系统网站建设网站建设在哪里的
  • 做企业网站域名需要解析吗2022拉新推广平台
  • 外贸营销网站建设公司绵阳的网站建设
  • 如何申请域名建网站网站建设 管理
  • 怎么把网站做成手机版的网页美工设计公司
  • 网站内的搜索怎么做网站运营外包公司
  • 做设计图任务的网站网站的后台地址
  • 什么是单页网站制作相册影集的软件
  • physon可以做网站温州网站建设案例
  • 建设优化网站wordpress自媒体主题ming
  • 西咸新区建设环保网站wordpress+教材主题
  • 大连做网站需要多少钱Wordpress一直刷不出
  • 国内做网站最大的公司注册网站域名有什么用
  • 自己做网站自己做SEO电销
  • 哪里有做兼职的网站东莞网站建设公司电话