麦子的第一个注解+spring小案例 欢迎指点学习。
定义接口
package dao; /** * 接口 * @author Administrator */ public interface MaiziDao { public String sayHellow(); }
两个实现类
NO1.
package dao.impl; import org.springframework.stereotype.Service; import dao.MaiziDao; @Service /** * @Service注释表示定义一个bean,自动根据bean的类名实例化一个首写字母为小写的bean, * 例如Chinese实例化为chinese,American实例化为american,如果需要自己改名字则:@Service("你自己改的bean名")。 * @author Administrator */ public class SayHellowImpl implements MaiziDao { public String sayHellow() { System.out.println("Hellow~~~~~~"); return "Hellow"; } }
NO2
package dao.impl; import org.springframework.stereotype.Service; import dao.MaiziDao; @Service public class SayHiImpl implements MaiziDao { public String sayHellow() { System.out.println("Hi~~~~~~~~~~~~~"); return "Hi"; } }
测试:
package Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.stereotype.Service; import dao.MaiziDao; @Service public class Main { @Autowired /** * 在Man接口前面标上@Autowired和@Qualifier注释使得Man接口可以被容器注入, * 当Man接口存在两个实现类的时候必须指定其中一个来注入, * 使用实现类首字母小写的字符串来注入。否则可以省略,只写@Autowired */ @Qualifier("sayHellowManImpl") private MaiziDao Dao; public static void main(String[] args) { // 读取配置及文件 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); Main main = (Main) applicationContext.getBean("main"); System.out.println("" +main.Dao.sayHellow()); } public MaiziDao main(){ return Dao; } }
Spring 配置文件
<?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-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="*"/> <!-- 在spring的配置文件里面只需要加上 --> <!-- <context:annotation-config/>和<context:component-scan base-package="需要实现注入的类所在包"/>, --> <!-- 可以使用base-package="*"表示全部的类。 --> <!-- 编写主类测试 --> </beans>
项目视图:
download URL 密码:frs9
吃素菜,彼此相爱。