Spring与Struts2的整合问题

Springstruts2的整合问题

<!--[if !supportLists]-->1、<!--[endif]-->使用注入方式:

正常的情况下,当请求到来时,struts控制器拦截请求,然后实例化对应的action,这是它的默认行为。但是现在我们要用spring容器中提供的action,这样问题就出现了。

解决:struts2框架的lib包里提供了一个插件,struts2-spring-plugin,这个插件就是解决这个问题的,它的工作是这样的,它允许我们在给action配置class属性的时候,给它一个beanid,这样当需要创建action类的时候,struts2提供的只是一个类似于虚壳,真正的类会从spring中去取,

<!--[if !supportLists]-->2、<!--[endif]-->使用注解

这种情况下,就是另一种机制了,当一个请求到达struts控制器的时候,会实例化一个action,但此时的action里面的业务类已经被我们通过注解的方式注入进去了。两种机制是不同的,第一种是:需要实例化的actionspring容器提供,第二种是实例化的action已经被注入。

Bean管理的方式:

@Component 

@Service :常用的

@Repository 

@named:需要提供javax.inject.jar

注解:

@Autowired :这个注解是Spring框架提供的

@Inject 需要提供javax.inject.jar包,很小,3kb左右

@Resource :java中提供的注解,

猜你喜欢

转载自luoriwubian.iteye.com/blog/1974504
今日推荐