Primeiro, implemente a interface do controlador
public class HelloContronller implements Controller{
@Override
public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
System.out.println("spring入门!");
ModelAndView m=new ModelAndView();//这个对象用来保存数据和数据 ,方便传输
m.addObject("name", "小美");//设置响应的数据name req.setAttribute()
m.addObject("age", "20");
m.setViewName("/WEB-INF/hello.jsp");////设置响应视图的路径 WEB-INF下的资源不能直接访问,必须通过转发
return m;
}
}
Segundo, implemente a interface HttpRequestHandler
public class HiController implements HttpRequestHandler{
@Override
public void handleRequest(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("实现HttpRequestHandler...");
req.setAttribute("name", "华仔");
req.setAttribute("age", 18);
//转发 -- 因为要访问WEB-INF的资源 共享request作用域的数据
req.getRequestDispatcher("/WEB-INF/hello.jsp").forward(req, resp);
}
}
3. Anotações para classes comuns [comumente usado como mestre]
- Introduzir:
Os dois acima são muito limitados.O
nome do método é fixo.O
parâmetro é fixo.O
valor de retorno é fixo.
-
Escrita:
Escreva uma classe
Para adicionar uma anotação @Controller a essa classe, a
premissa de usar esta anotação:
<!-- 扫描包路径:上下文组件扫描 ,Spring容器会去扫描cn.itsource这个包及其子包中所有的类,
如果发现类上有类似@Controller这样注解,就会创建该类的对象,并进行管理-->
<context:component-scan base-package="cn.itsource"></context:component-scan>
A correspondência de solicitação não precisa de <bean configuration>, você deve usar a anotação @RequestMapping.Esta
anotação usa a premissa:
<mvc:annotation-driven></mvc:annotation-driven>
Configure uma vez, use para sempre
Nota completa:
-
Anotações que correspondem aos parâmetros de solicitação
Anteriormente usado
<bean id="/hello" class="类的全限定名">
`
Agora use RequestMapping (" / hello "),
mas precisa ir para spring-mvc.xml para ativar o suporte de primavera ao mvc. Esta anotação entra em vigor
<!--开启spring对mvc的支持该注解才生效-->
<mvc:annotation-driven></mvc:annotation-driven>
- Anotações de objetos instanciados (eles só podem ser colocados na classe. A premissa é configurar no spring-mvc.xml, varrer a configuração do caminho do pacote: <context: component-scan base-package = "cn.itsource"> </ context: scan de componentes>)
Usado na camada Controller da camada de controle: @Controller usado
na camada Service: @Service usado
na camada Dao: @Repository
Se você não precisar instanciar o objeto nesses casos, use a anotação geral: @Component 这
四Esta nota pode ser usada de forma intercambiável, mas não é recomendada, é melhor usá-la de acordo com o nível. - Anotação de injeção O
método anterior<property name="name" value="牛牛"></property>
agora é anotado: @Autowired (correspondido de acordo com o tipo), @Resource (correspondência padrão de nome Anzhao, correspondente ao nome da classe alta), usada em campos e métodos de configuração, geralmente colocados no campo Acima.
Observe que agora todas as anotações podem ser usadas com anotações e só usam a configuração xml ao usar classes escritas por outras pessoas.