标签:
最近发现,我对于ssh的 自动注入配置 还是不熟悉,于是整理了一下 终于做了一个 简单的 注入配置出来。 以前都是在applicationContext.xml 里面这样配
<bean id="loginAction" class="com.dj.ssh.action.LoginAction" scope="prototype" autowire="byName"> <property name="userService" ref="userService"></property> </bean> <bean id="userService" class="com.dj.ssh.service.impl.UserServiceImpl"> <property name="userDAO" ref="userDAO"></property> </bean> <bean id="userDAO" class="com.dj.ssh.dao.impl.UserDaoImpl"> <property name="sessionFactory" ref="mySessionFactory"></property> </bean
后来发现,mdzz,直接注入service,注入就可以了。
于是就有了这篇ssh框架最简单配置。
新手可以看一下。 我将从 用myeclipse 生成ssh框架 的第一步 一直讲到 注入 service
环境:myeclipse 8.5,用eclipse的插件如何快速生成ssh项目,还是自行百度吧 (其实大部分博主这个时候会说的是 :请参考我另一篇博文)
好,新建web项目,项目名称demo
<!--配置 spring 配置文件的位置 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!--配置 spring监听器 --> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener>
接着配置 applicationContext.xml
此时,由于我们是自动生成的 所以 在src目录下的applicationContext.xml 文件中 已经有很多代码了。 我们不用管他
随便在开头还是末尾 加上三行关键的代码就可以了
<!-- 打开自动装配--> <context:annotation-config></context:annotation-config> <!-- 设置扫描路径 配置了以后,他会 自动扫描com.service.*.* 路径下的所有的包 --> <context:component-scan base-package="com" use-default-filters="false"> <context:include-filter type="regex" expression="com.service.*.*"/> </context:component-scan>
接着 配置 struts.xml 文件
<package name="login" extends="struts-default"> <action name="login" class="com.action.UserAction"> <result name="success">index.html</result> </action> </package>
此时 当我在浏览器里输入http://localhost:8080/demo/login.action 的时候 他会通过struts 转发去com.action.UserAction 文件下
UserAction 返回success 的话 就 跳转到index.html 页面
com.action.UserAction 代码
public class UserAction extends ActionSupport{ private UserService service; //Autowired 通过set方法自动装配 service @Autowired public void setservice(UserService userservice) { this.service = userservice; } @Override public String execute() throws Exception { service.login(); if(service!=null)return "success" ; else return "false"; } }
此时 其实还没建service 层呢。更别提 service.login()方法了。
所以 新建com.service 包 在com.service包下 新建UserService 接口
UserService 接口代码
public interface UserService { void login(); }
新建com.service.impl 包 新建com.service.impl.UserServiceImpl 文件 实现UserService接口
代码如下
public class UserServiceImpl implements UserService { public void login() { System.out.println("这是一个登陆方法"); } }
此时已经完事了。 项目结构图如下
把项目部署到tomcat 下。 run servers
怎么会404 呢? 那是因为 我并没有写index.html
在struts.xml 的配置中 我配置的是 返回 success 的话 去 index.html 页面
又有这个判断
if(service!=null)return "success" ;
所以,此时service 注入成功了。
在去看控制台
prefect 完美,这就是ssh项目插件生成,以及配置注解注入service 的全过程
Myeclipse插件快速生成ssh项目并配置注解 在action层注入service的超详细过程
标签:
原文地址:http://www.cnblogs.com/szw-blog/p/5785933.html