编程开发 > JSP > 文章内容

Spring组件自动扫描详解及实例代码

2017-4-26编辑:ljnbset

Spring组件自动扫描详解及实例代码

问题描述

一个系统往往有成千上万的组件,如果需要手动将所有组件都纳入spring容器中管理,是一个浩大的工程。

解决方案

Spring 提供组件扫描(component scanning)功能。它能从classpath里自动扫描、侦测和实例化具有特定注解的组件。基本的注解是@Component,它标识一个受Spring管理的组件。其他特定的注解有@Repository、@Service和@Controller,它们分别标识了持久层、服务处和表现层的组件。

实现方法

User.Java

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

package com.zzj.bean;

  

import javax.annotation.Resource;

  

import org.springframework.stereotype.Component;

@Component

public class User {

  @Resource

  private Car car;

  

  public void startCar(){

    car.start();

  }

}

Car.java

?

1

2

3

4

5

6

7

8

9

10

package com.zzj.bean;

  

import org.springframework.stereotype.Component;

  

@Component

public class Car {

  public void start(){

    System.out.println("starting car...");

  }

}

XML配置文件

?

1

2

3

4

5

6

7

8

9

10

11

xml version="1.0" encoding="UTF-8"?>

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

       

    <context:component-scan base-package="com.zzj.bean"/>

beans>

注意:当开启Spring的自动扫描功能以后,自动注入的功能也开启了。

详解Hibernatecascade级联属性的CascadeType的用法

热点推荐

登录注册
触屏版电脑版网站地图