/**
* @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>
![](http://dl.iteye.com/upload/attachment/615571/3b9fa7aa-4bd0-34cb-9db9-b0e88a49cefc.jpg)
所需要的jarlib
![](http://dl.iteye.com/upload/attachment/615573/ad908fb5-e8c8-3da2-946c-0df2c5c4a9ce.jpg)
![](https://i-blog.csdnimg.cn/blog_migrate/714088224ced1106e799d7bf9520f6ff.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0989de6751e77c8769a60e053c4de992.png)
源代码: 最新SpringMVC