spring中annotation实例
来源:互联网 发布:mac创建快捷方式 编辑:程序博客网 时间:2024/06/03 21:13
//person接口
package org.person.dao;
public interface IPerson {
public String sayhello();
}
//teacher类
package org.person.model;
import org.person.dao.IPerson;
import org.springframework.stereotype.Service;
@Service
public class Teacher implements IPerson {
@Override
public String sayhello() {
// TODO Auto-generated method stub
return "我是一个老师!!";
}
}
//student类
package org.person.model;
import org.person.dao.IPerson;
import org.springframework.stereotype.Service;
@Service
public class Student implements IPerson{
@Override
public String sayhello() {
// TODO Auto-generated method stub
return "我是一个学生!!";
}
}
//oneclass类
package org.person.model;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service("oneclass")
public class OneClass {
private Student student;
private Teacher teacher;
@Autowired
public void setStudent(Student student) {
this.student = student;
}
@Autowired
public void setTeacher(Teacher teacher) {
this.teacher = teacher;
}
public void say(){
System.out.println("the student say:" + student.sayhello() + " the teacher say:"+teacher.sayhello());
}
}
@Service注释表示定义一个bean,自动根据bean的类名实例化一个首写字母为小写的bean,例如Student实例化为studnet,Teacher实例化为teacher,如果需要自己改名字则:@Service("你自己改的bean名")。
beans.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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:annotation-config />
<context:component-scan base-package="*" /><!-- *表示所有类 -->
</beans>
测试类:
package org.person.test;
import org.person.model.OneClass;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
@org.junit.Test
public void say(){
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
OneClass oneclass = (OneClass)context.getBean("oneclass");
oneclass.say();
}
}
结果:
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@4b035d: startup date [Fri May 18 10:42:47 CST 2012]; root of context hierarchy
2012-5-18 10:42:47 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [beans.xml]
2012-5-18 10:42:48 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@5d391d: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,oneclass,student,teacher,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; root of factory hierarchy
the student say:我是一个学生!! the teacher say:我是一个老师!!
- spring中annotation实例
- spring scheduled annotation 实例一
- spring scheduled annotation 实例二
- Spring的annotation注入实例
- Spring实例解析之Annotation
- Spring AOP annotation 简单实例
- Spring中使用annotation注入
- Spring中使用annotation注入
- Spring中使用annotation注入
- Spring中使用annotation注入
- Spring中使用annotation注入
- Spring IOC Annotation 注入 学习实例
- JUnit中使用Annotation获得实例
- Annotation实例
- Spring中使用Hibernate3的Annotation
- spring 2.5 中配置bean 使用annotation
- Spring中使用Hibernate3的Annotation
- spring中AOP的Annotation使用流程
- C/C++在线编译器补充
- OpenGL模型视图变换、投影变换、视口变换
- 【IOS】Instruments 使用教程
- makefile笔记
- opencv中使用cvSaveImage转换成bmp还是IplImage格式吗?还是可以直接成DIB格式?
- spring中annotation实例
- oracle如何对表同一个表重复的数据进行删除
- Linux动态链接库编程入门
- Linux 命令:新建文件系统--mkfs
- DSP软件优化小实验
- Oracle: SQL精妙SQL语句讲解(常用sql) .
- 仅售74美元的Android迷你电脑:你会买吗?
- HID的固件要求
- 构造,复制,赋值,析构