使用注解来构造IOC容器

(首先我们要有一个SSH框架搭建的项目)

一、我们在使用注解之前我们要在spring配置文件中加入,例如

这一段代码,意思是启动类扫描的注解解析器,  base-package="news"  它会自动截取base-package属性中的字符进行递归的对类包进行扫描,当然你也可以在base-package属性中逐一的把类包名写入,base-package="news.action,news.dao,news.service"。

 二、应用@Controller、@Repository、@Service、@Autowired 、@Qualifier 注解替代spring配置文件中bean注入

三、@Controller

1、@Controller对应表现层的Bean,也就是Action,例如:

@Controller写在Action类的上面,

@Controller不写默认是的开头小写类名 例如:  @Controller   相当于  @Controller(newsAction), struts配置文件中

@Controller我们也可以指定注入的名字例如:   @Controller("myNewsAction")  

struts配置文件中的class属性名要与@Controller注入名一致。

@Scope("prototype")的作用是每次访问都创建一个Action对象,都对应不同的Action对象,spring默认scope是单例模式只创建一个Action对象,每次访问都是同一个Action对象,这样数据会不安全,所以我们一般都会加上。

2、在Action类中调用的NewsService的方法注入。

@Qualifier(newsServiceImpl)可以省略不写,

四、@ Service

1、@Service对应的是业务层Bean,例如:

 

2、在Service类中调用Dao的方法注入。

 

五、@Repository

 1、@Repository对应数据访问层Bean ,例如:


 

 2、在Dao类中调用SessionFactory方法注入。