现在的位置: 首页 > 综合 > 正文

spring-mvc注解方式注入

2012年12月10日 ⁄ 综合 ⁄ 共 1614字 ⁄ 字号 评论关闭

我们在没有用注解写spring配置文件的时候,会在spring配置文件中定义Dao层的bean,
这样我们在service层中,写setDao方法,就可以直接通过接口调用Dao层,
用了注解写法后,在配置文件中不用再写Dao层的bean,
只需要在Dao实现类中加入
@Repository
public Class TestDaoImpl(){}

在service层定义
@Autowired
private TestDao testDao;
不需要再写setDao方法就可以通过接口调用Dao了

在Service层加入
@service
public Class TestService(){}
这样action中直接写
@Autowired
private TestService testService;
就可以调用service层

在Action层加入
@Controller
public Class TestAction(){}
就不需要在配置文件中定义action的bean

@requestMapping是spring-mvc的东西,
以前我们用struts2, 需要配置文件定义 action的名字,
在浏览器中写 XXX.do才能访问action的方法

使用了srping-mvc后,在action的方法中加入
@controller
public class TestAction(){
     @requestMapping("XXX.do")
     public String findAll(){
        .................   
    }
}
这样,就不需要struts了,直接在浏览器中输入XXX.do就可以访问findAll方法了

 

hibernate中常用的注解方式,如@repository,及详解:

@overriide :限定重写父类方法,该注解只能用于方法。
@deprecated:用于表示某个程序元素(类,方法)已过时。
@SupperessWarnings:抑制编译器警告。
@Autowired是根据类型进行自动装配的。在上面的例子中,如果当Spring上下文中存在不止一个UserDao类型
@Qualifier配合@Autowired来解决这些问题。
@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按byName自动注入罢了。@Resource有两个属性是比较重要的,分别是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。
@PostConstruct(JSR-250)
在方法上加上注解@PostConstruct,这个方法就会在Bean初始化之后被Spring容器执行(注:Bean初始化包括,实例化Bean,并装配Bean的属性(依赖注入))。

它的一个典型的应用场景是,当你需要往Bean里注入一个其父类中定义的属性,而你又无法复写父类的属性或属性的setter方法时.
@PreDestroy(JSR-250)
在方法上加上注解@PreDestroy,这个方法就会在Bean初始化之后被Spring容器执行。由于我们当前还没有需要用到它的场景,这里不不去演示。其用法同@PostConstruct。.
使用@Scope来定义Bean的作用范围
在使用XML定义Bean时,我们可能还需要通过bean的scope属性来定义一个Bean的作用范围,我们同样可以通过@Scope注解来完成这项工

这些都应该是spring注解方式  看看是不是你要的 如果是 你就按照spring注解方式去百度上再搜搜 还有很多答案

 

抱歉!评论已关闭.