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
- spring学习笔记(10)--@Component
- spring 注解@component 学习
- spring学习Component注解问题
- Spring学习笔记(一):Spring注解@Component、@Repository、@Service、@Controller区别
- hibernate3学习笔记(十二)|Component
- hibernate3学习笔记(十二)|Component
- spring学习 一 <context:component-scan>使用说明
- 学习Spring boot 注解 @Value @Component @ConfigurationProperties
- spring @component
- Spring @Component
- Spring学习笔记10
- YUI 3 学习笔记:component infrastructure
- Android学习笔记--activity component:intents
- AngularJs学习笔记--Understanding the Model Component
- AngularJs学习笔记--Understanding the Controller Component
- ReactNative 学习笔记Component 和createClass区别
- Vue2学习笔记:组件(Component)
- Ionic2学习笔记(2):自定义Component
- IOS 应用程序角标 应用程序内部角标
- c++ 文件输入输出
- 深入介绍iOS程序性能优化
- armv6、armv7、armv7s和arm64
- 域模型
- spring学习笔记(10)--@Component
- matlab中size、length和numel函数的区别
- 通过NSScanner读取text文档
- Lesson_for_java_day11--多态、抽象类和抽象函数、接口、final的作用
- 第六周剩余作业
- ORACLE分页查询SQL语法——最高效的分页
- 关于模式
- 交换文件
- [leetcode]Longest Palindromic Substring