@Component 注解

@Component
  a) 初始化的名字默认为类名首字母小写:UserService 在容器中默认为 userService
  b) 可以指定初始化 bean 的名字: 1 @Component(value="userService")

xml 配置

<?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-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd">

  <context:annotation-config />

  <context:component-scan base-package="com.bjsxt" /><!-- 指定包 -->

</beans>

bean 配置:

  UserDAOImpl

 1 package com.bjsxt.dao.impl;
 2
 3 import org.springframework.stereotype.Component;
 4
 5 import com.bjsxt.dao.UserDAO;
 6 import com.bjsxt.model.User;
 7
 8 @Component    //默认名字:userDAOImpl
 9 public class UserDAOImpl implements UserDAO{
10
11     public void save(User u) {
12         System.out.println("a user saved!");
13     }
14
15 }

  UserService

 1 package com.bjsxt.service;
 2
 3 import javax.annotation.Resource;
 4
 5 import org.springframework.stereotype.Component;
 6
 7 import com.bjsxt.dao.UserDAO;
 8 import com.bjsxt.model.User;
 9
10 @Component(value="userService")
11 public class UserService {
12
13     private UserDAO userDAO;
14
15     public void init(){
16         System.out.println("init");
17     }
18
19     public UserService(){}
20
21     public UserService(UserDAO userDAO){
22         super();
23         this.userDAO = userDAO;
24     }
25
26     public void addUser(User u){
27         this.userDAO.save(u);
28     }
29
30     public UserDAO getUserDAO() {
31         return userDAO;
32     }
33
34     @Resource(name="userDAOImpl")
35     public void setUserDAO(UserDAO userDAO) {
36         this.userDAO = userDAO;
37     }
38
39     public void destroy(){
40         System.out.println("destroy");
41     }
42
43 }

代码链接: http://pan.baidu.com/s/1i4GwEPn 密码: awdu

jar包链接: http://pan.baidu.com/s/1hs655SK 密码: 6h8x

时间: 2024-09-29 05:30:08

@Component 注解的相关文章

Spring中@Component注解,@Controller注解详解(网摘)

在使用Spring的过程中,为了避免大量使用Bean注入的Xml配置文件,我们会采用Spring提供的自动扫描注入的方式, 只需要添加几行自动注入的的配置,便可以完成Service层,Controller层等等的注入配置. 使用过程中,在Service层中的实现类头上加@Compopnet注解,在Controller类头加@Controller注解,便完成了配置. 例如 在Controller中当我们调用某个Service时就不需要Set方法了,直接通过@Autowried 注解对Service

Spring boot之SpringApplicationBuilder,@@Configuration注解,@Component注解

SpringApplicationBuilder: 该方法的作用是可以把项目打包成war包 需要配置启动类,pom.xml文件等,具体见:http://blog.csdn.net/linzhiqiang0316/article/details/52601292 @SpringBootApplication public class FavoritesApplication extends SpringBootServletInitializer{ /** * 如此配置打包后可以用tomcat下使

Spring @Component 注解的使用

使用说明 这个注解用于声明当前的类是一个组件类,Spring 会通过类路径扫描来自动侦测和自动装配这些组件,创建一个个 bean 后,注册到 Spring 容器中. 带 @Component 注解的类和自动创建的 bean 之间存在隐式的一对一映射关系.由于只需要声明一个注解,其他过程都是自动化的,所以对 bean 的创建过程可控程度较低. 该注解相当于: <bean id="useService" class="com.test.service.UserService

spring定时任务(1):使用component注解实现静态定时任务

环境:myeclipse10.7+spring 3.1 一.在服务器端编写任务类 package com.conbao.component.task.controller; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.scheduling.annotation.Scheduled; import org.sprin

阶段3 2.Spring_04.Spring的常用注解_3 用于创建的Component注解

@Component spring容器是一个Map结构,是由于key 和vlaue组成的 运行测试 无法运行 出错的原因↓ 第一部是解析配置文件.但是配置文件这里是空的.我们的bean里面什么对象都没有定义 需要有一行配置 spring的文档里面 搜索xmls:cont 把这一段复制过去 配置上之后,就会扫描com.itheima包下的以及它的子包的类或者接口上的注解 再次运行测试 成功运行 指定id的方式 这里对应注解的value配置的id值 value属性可省略 原文地址:https://w

spring中@Component注解

[email protected] 控制器(注入服务) [email protected] 业务(注入dao) [email protected] dao(实现dao访问) [email protected] (把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>) [email protected],@Service,@Controller,@Repository注解的类,并把这些类纳入进spring

sping,springMVC @Component 注解的对象都是单例模式,变量不能全局

错误方式:      将属性和变量定义为全局,单例模式,所有人共享,导致所有人的数据都发生错误! 正确方式 一:    将变量定义到局部,互不影响. 正确方式 二:      假如必须放到全局所有方法使用,那么就必须进入当前对象,就清空所有全局属性的值,首先保证所有的都为null,再重新开始 原文地址:https://www.cnblogs.com/mh-study/p/9827675.html

注解Annotation的IoC:从@Autowired到@Component

注解Annotation的IoC:从@Autowired到@Component 2017-01-20 目录 1 什么是注解2 不使用注解示例  2.1 com.springioc.animal.Monkey  2.2 com.springioc.animal.Tiger  2.3 com.springioc.bean.Zoo  2.4 com.springioc.main.AppMain  2.5 Beans.xml3 使用注解@Autowired示例  3.1对成员变量使用@Autowired

SpringAnnotation注解之@Component,@Repository,@Service,@Controller

@Component:组件,表示此写上了此注解的bean,作为一个组件存在于容器中.这样的话别的地方就可以使用@Resource这个注解来把这个组件作为一个资源来使用了.初始化bean的名字为类名首字母小写 与@Component注解功能相同的注解有:@Repository,@Service,@Controller,@Component ,默认情况下Spring认为这4个注解会被认为是一个组件. @Repository:数据层,一般放在Dao接口的实现类上 @Service:服务层,一般放在se