Spring注解
跟servlet一样,我们要讲两个类联系起来需要通过xml文件,写上一堆的配置来将这两个类来联系起来,但是这样的话太过繁琐,所以我们可以使用注解来简化我们的代码,下面我们简写一个业务结构来看一下我们是怎么使用Spring的注解的
①:在配置文件中引入注解依赖的环境
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
xmlns:context="http://www.springframework.org/schema/context"
将这三条依赖的环境放到我们的beans中
② 新建业务结构,Dao层,service接口,service的实现类,Main方法运行
- 新建dao层:使用 @Repository 将 DAO 类声明为 Bean
//使用 @Repository 将 DAO 类声明为 Bean
@Repository 将 DAO 类声明为 Bean
public class GameDao {
//模拟得到数据
public void save(){
System.out.println("我是Dao我要得到数据");
}
}
- 新建service的接口类,里面就一个方法
// An highlighted block
public interface InterfaceGame {
public void insert();
}
- 新建service实现类
//将这个这个类识别为Service
@Service
public class GameServiceImpl implements InterfaceGame {
@Autowired
//自动到Spring容器中找到这个bean
GameDao game;
@Override
public void insert() {
System.out.println("我是游戏的service,我要开始调用dao了");
game.save();
}
}
Spring 2.5 在 @Repository的基础上增加了功能类似的额外三个注解:@Component、@Service、@Constroller,它们分别用于软件系统的不同层次:
@Component 是一个泛化的概念,仅仅表示一个组件 (Bean) ,可以作用在任何层次。
@Service 通常作用在业务层,但是目前该功能与 @Component 相同。
@Constroller 通常作用在控制层,但是目前该功能与 @Component 相同。.
补充一个:
@Repository
标注数据访问层
- 新建game模块的Main的运行方法
public class GameMain {
public static void main(String[] args) {
ClassPathXmlApplicationContext ctx=new ClassPathXmlApplicationContext("AppConplication.xml");
GameServiceImpl gameService = ctx.getBean(GameServiceImpl.class);
gameService.insert();
}
}
③ 得到的结果