SpringMvc用来代替展示层Servlet,均属于Web层开发技术
1、导入Servlet依赖坐标
2、创建一个Servlet接口实现类,重写其中的所有方法
3、在Servlet实现类上加上@WebServlet注解,用来配置Servlet访问路径
4、启动Tomcat,浏览器输入Url访问该Servlet
1、导入相关依赖
4.0.0
org.example
SpringMvc
1.0-SNAPSHOT
war
javax.servlet
javax.servlet-api
3.1.0
provided
org.springframework
spring-webmvc
5.3.0
1.8
1.8
org.apache.tomcat.maven
tomcat7-maven-plugin
2.1
/
2、创建controller包,创建Usercontroller类
//声明控制层的bean的注解
@Controller
public class UserController {
//设置当前操作的访问路径
@RequestMapping("/save")
//设置当前注解的返回值类型,将返回的内容整体作为响应给到外面
@ResponseBody
public String save(){
System.out.println("springMvc is running");
return "{'moudle':'springmvc'}";
}
}
3、创建config包,加载SpringMvcConfig
//创建SpringMvc的配置文件,加载controller对应的baen
@Configuration
@ComponentScan("com.tsj.controller")
public class SpringMvcConfig {
}
4、在config包下,加载ServletContainerConfig
//定义一个Servlet容器启动的配置类,在里面加载Spring配置
public class ServletContainerInitConfig extends AbstractDispatcherServletInitializer {
//加载SpringMvc容器配置的
@Override
protected WebApplicationContext createServletApplicationContext() {
AnnotationConfigWebApplicationContext acac=new AnnotationConfigWebApplicationContext();
acac.register(SpringMvcConfig.class);
return acac;
}
//设置哪些请求归属于SpringMvc处理
@Override
protected String[] getServletMappings() {
return new String[]{"/"};//这里表示所有的请求都归其进行处理
}
//加载Spring容器配置
@Override
protected WebApplicationContext createRootApplicationContext() {
return null;
}
}
6、打开浏览器尝试输入
SpringMvc相关bean(表现层bean)
Spring控制的bean
业务bean(Service)
功能bean(DataSource等)
SpringMvc相关bean加载控制
SpringMvc加载的bean对应的包均在com.tsj.controller包内
Spring相关bean加载控制
方式一:Spring设置加载范围为com.tsj,并排除掉controller在内的bean
@ComponentScan(value = "com.tsj",
excludeFilters = @ComponentScan.Filter(
//按照注解进行过滤
type = FilterType.ANNOTATION,
classes = Controller.class
)
)
方式二:Spring设置加载范围更加精准,例如Service包,Dao包等
@ComponentScan({"com.tsj.service","com.tsj.dao"})