Spring MVC的例证使用
Spring MVC的例子使用
--------------------------------------- Dao----------------------------------------------
/**
* @Component,@Service,@Controller,@Repository注解的类
*
* @Service(逻辑层使用)rt.jar @Repository(Dao层使用)
*
* @Controller(View使用也就是action中的类) spring.jar夹包下
*
* @Autowired自动装配
* @Component可以单独使用..spring.jar(Dao,Service层都使用.)
*
* @Resource(用于注入使用.提供对象..的一个setXXX)在 javaee.jar夹包下
*
*/
--------------------------------------- Dao----------------------------------------------
@ Repository
public class UserInfoDaoImpl implements UserInfoDao {
@Resource
private HibernateTemplate hibernateTemplate;
}
@ Component ("userDao")
public class UserDaoImpl implements UserDao {
private HibernateTemplate hibernateTemplate;
@Resource
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
}
---------------------------------------Service ----------------------------------------------
@Service
public class UserServiceImpl implements UserInfoService {
@Resource
private UserInfoDao userInfoDao;
public boolean getUserExist(UserInfo u) throws Exception {
return userInfoDao.getUserExist(u);
}
public void addUser(UserInfo u) throws Exception {
this.userInfoDao.addUser(u);
}
}
---------------------------------------View----------------------------------------------
方法一

@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(value="/login")
public String test(HttpServletRequest request,
HttpServletResponse response,User user){
String name = user.getName();
String password = user.getPassword();
User userinfo = userService.login(name, password);
if(userinfo!=null) {
request.setAttribute("user", userinfo);
return "success";
}else {
return "error";
}
}
}
@Resource
private TreeService ts ;
@Override
public String execute() throws Exception {
/**
* 切记不能用这样处理.在spring的mvc的注解不是这样去调用方法的.
*/
//TreeService ts = new TreeServiceImpl();
}
方法二:
public class InventoryController implements Controller {
protected final Log logger = LogFactory.getLog(getClass());
private ProductManager productManager;
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String now = (new java.util.Date()).toString();
logger.info("returning hello view with " + now);
Map<String, Object> myModel = new HashMap<String, Object>();
myModel.put("now", now);
myModel.put("products", this.productManager.getProducts());
return new ModelAndView("hello", "model", myModel);
}
//提供一个set
public void setProductManager(ProductManager productManager) {
this.productManager = productManager;
}
}
-------------------------------------Config------------------------------------------------
spring配置注意事项
<!--启用注解 定义组件查找规则 -->
<context:component-scan base-package="com.org">
<context:include-filter type="annotation"
expression="org.springframework.stereotype.Controller" />
<context:include-filter type="annotation"
expression="org.springframework.stereotype.Service" />
<context:include-filter type="annotation"
expression="org.springframework.stereotype.Repository" />
</context:component-scan>
<!-- 对spring的View的Contrller的进行配置 视图查找器 -->
<bean id="jspViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WebRoot/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
web.xml配置
<!-- ##################支持Spring MVC DispatcherServlet配置################################# -->
<servlet>
<!-- application与xml的前缀有关命名Eg:xx-context.xml. -->
<servlet-name>application</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>application</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
项目如下代码:所需要的jarlib

源代码:SpringMVC
源代码:SpringMVC