spring学习笔记(10)--@Component

来源:互联网 发布:windows winsxs文件夹 编辑:程序博客网 时间:2024/05/21 17:19

使用@Component的方式

bean.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="org.sh.spring"></context:component-scan></beans>

注意添加了一下语句:

<context:component-scan base-package="org.sh.spring"></context:component-scan>

意思就是从org.sh.spring包中往下搜索,包括子包,看看那个类上面写了@Component

IUserDAOImpl.java

package org.sh.spring.impl;import java.util.List;import java.util.Map;import java.util.Set;import org.sh.spring.DAO.IUserDAO;import org.sh.spring.model.User;import org.springframework.stereotype.Component;@Component("u")public class IUserDAOImpl implements IUserDAO {private Set<String> sets;private List<String> lists;public Set<String> getSets() {return sets;}public void setSets(Set<String> sets) {this.sets = sets;}public List<String> getLists() {return lists;}public void setLists(List<String> lists) {this.lists = lists;}public Map<String, String> getMaps() {return maps;}public void setMaps(Map<String, String> maps) {this.maps = maps;}private Map<String,String> maps;private int daoId ;private String daoStuatus ;public int getDaoId() {return daoId;}public void setDaoId(int daoId) {this.daoId = daoId;}public String getDaoStuatus() {return daoStuatus;}public void setDaoStuatus(String daoStuatus) {this.daoStuatus = daoStuatus;}@Overridepublic void save(User user) {System.out.println("user saved");}@Overridepublic String toString() {return "daoID="+this.daoId;}}

UserServices.java

package org.sh.spring.Services;import javax.annotation.Resource;import org.sh.spring.DAO.IUserDAO;import org.sh.spring.model.User;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.stereotype.Component;@Component("userservice")public class UserServices implements IUserDAO {private IUserDAO impl;public void init() {System.out.println("init******");}public IUserDAO getImpl() {return impl;}@Resource(name="u")public void setImpl(IUserDAO impl) {this.impl = impl;}public UserServices() {System.out.println("**********这里");}@Overridepublic void save(User user) {impl.save(user);}public void destory() {System.out.println("destory******");}}

UserServicesTest.java

package org.sh.spring.Services.Test;import org.junit.Before;import org.junit.Test;import org.sh.spring.DAO.IUserDAO;import org.sh.spring.Services.UserServices;import org.sh.spring.impl.IUserDAOImpl;import org.sh.spring.model.User;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class UserServicesTest {@Beforepublic void setUp() throws Exception {}@Testpublic void testSave() {ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");UserServices ud = (UserServices)ctx.getBean("userservice");//UserServices ud1 = (UserServices)ctx.getBean("userservice");System.out.println(ud.getImpl());User u = new User();ud.save(u);ctx.destroy();}}
测试结果:
user saved

测试成功,哈哈!看看我们的bean.xml是不是比以前更加的简单了.这就是使用注解的好处

0 0
原创粉丝点击