【springspringmvc】springmvc使⽤注解声明控制器与请求映射
概述
注解: 在Spring中尽管使⽤XML配置⽂件可以实现Bean的装配⼯作,但如果应⽤中Bean的数量较多,会导致XML配置⽂件过于臃肿,从⽽给维护和升级带来⼀定的困难。
从JDK 5开始提供了名为Annotation(注解)的功能,Spring正是利⽤这⼀特性,Spring逐步完善对Annotation注解技术的全⾯⽀持,使XML配置⽂件不再臃肿,向“零配置”迈进。
Spring框架也为表⽰层提供了⼀个优秀的Web框架,即Spring MVC。由于Spring MVC采⽤了松耦合可插拔组件结构,⽐其他MVC框架具有更⼤的扩展性和灵活性。通过注解,Spring MVC使得POJO成为处理⽤户请求的控制器,⽆需实现任何接⼝。
⽂章⽬录
壹:注解说明
Spring中定义了⼀系列的Annotation注解,如下所⽰:
注解名称说明
@Component
注解
@Component 是⼀个泛化的概念,仅仅表⽰⼀个组件(Bean),可以作⽤在任何层次。
@Repository
注解
@Repository 注解⽤于将数据访问层(DAO 层)的类标识为Spring的Bean。
@Service注解@Service 通常作⽤在业务层,但是⽬前该功能与@Component相同。
@Controller
注解
@Controller标识表⽰层组件,但是⽬前该功能与@Component相同
@Autowired
注解⽤于对Bean的属性变量、属性的set⽅法及构造函数进⾏标注,配合对应的注解处理器完成Bean的⾃动配置⼯作。@Autowired注解默认按照Bean类型进⾏装配。@Autowired注解加上@Qualifier注解,可直接指定⼀个Bean实例名称来进⾏装配。
@Resource注
解作⽤相当于@Autowired,配置对应的注解处理器完成Bean的⾃动配置⼯作。区别在于:①:@Autowired默认按照Bean类型进⾏装
配,②:@Resource默认按照Bean实例名称进⾏装配。
贰:实现注解声明控制器与请求映射
⼀:使⽤controller
org.springframework.stereotype.Controller注解类型⽤于指⽰Spring类的实例是⼀个控制器,其注解形式为@Controller。该注解在使⽤时不需要再实现Controller接⼝,只需要将@Controller注解加⼊到控制器类上,然后通过Spring的扫描机制到标注了该注解的控制器即可。
resource和autowired注解的区别@Controller
public class SpringController {
@GetMapping("/helloWorld")
public String hello(){
System.out.println("");
return"hello";
}
}
我们常⽤的rest 风格请求(REST : 即 Representational State Transfer 。(资源)表现层状态转化):
请求说明⽤于
@GetMapping匹配GET⽅式的请求;⼀般读取数据请求说明⽤于@PostMapping匹配POST⽅式的请求;⼀般⽤于插⼊数据
@PutMapping匹配PUT⽅式的请求;⼀般⽤于更新数据
@DeleteMapping匹配DELETE⽅式的请求;⼀般⽤于删除数据
⼆:配置包扫描与视图解析器
1、配置包扫描
虽然哦我们已经写好了controller,但是直接这样写我们是不能⽤的,还需要在l配置⽂件中,⽤spring的包扫描将他注⼊到容器中,我们才能实现调⽤。
<!--使⽤扫描机制 -->
<annotation-config/>
<component-scan base-package="ller"/>
当然,spring提供了很多种⽅法,我们是⽤最简单实现的就可以。
2、配置试图解析器
SpringMVC中的视图解析器的主要作⽤就是将逻辑视图转换成⽤户可以看到的物理视图。
在l加⼊试图解析器,其中的前缀就是根据⾃⼰的⽂件存放⽬录来写,后缀就是你的⽂件的后缀名,你可以是.jsp、.html等等。
<!-- 配置视图解析器 prefix:前缀, suffix:后缀-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix"value="/"></property>
<property name="suffix"value=".html"></property>
</bean>
三:配置部署描述符
Deployment Descriptors(描述符)是⼀个xml⽂件,⽤来描述如何部署⼀个模块或者应⽤(根据描述符中定义的配置和容器选项)。
在这⾥简单来说就是我们的l。
1、读取l⽂件
虽然,我们已经把controller通过l注⼊到容器中,相信这时你启动项⽬时,是访问不了的controller的请求的,也就是说,我们的我没在配置该⽂件,这时候在你的l中加⼊。
如果我们不指定SpringMVC配置⽂件的路径,则会⾃动到WEB-INF下 ‘‘前端控制器名-l’’ 这个⽂件,如果不到则会报错。
<!-- 配置Spring MVC配置⽂件-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>l</param-value>
</init-param>
2、配置匹配映射
servlet: 它提供静态资源。它处理所有未映射到其他带有servlet映射的servlet(在这⾥或在您⾃⼰的-l⽂件)。
servlet-mapping: 当为静态资源提供服务时,Tomcat将⾃动⽣成基于资源⽂件扩展名的“Content Type”头,基于这些映射。可以在此处添加其他映射(到应⽤于所有web应⽤程序),或在您⾃⼰的应⽤程序的l中部署描述符。
<!-- 配置DispatcherServlet -->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<!-- ServLet 匹配映射 -->
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
四:建⽴html⽂件
新建两个⽂件,⽤于访问测试,⼀个index.html,写⼀个连接指向href=“helloWorld”,写另⼀个hello.html,⽤于访问成功后,跳转到该页⾯。叁:配置tomcat
在这⾥,作者摸索到了两种配置tomcat的⽅法,⼀种就是本地⾃个的tomcat,还有⼀种就是maven提供的tomcat容器。
⼀:配置本地tomcat
基本上就是这⼏步,其中的选择tomcat⽬录省略了,不是很难,添加服务就可以,不到⼊⼝就算了,请不要打我。如果你配置tomcat也不会,那么,现在放下电脑去打把王者荣耀吧,妲⼰可能会告诉你。
⼆:配置maven内置tomcat
配置maven的tomcat相对会⿇烦⼀点,不过也不是很⿇烦,在你的l⽂件中加⼊⼀下插件依赖。
<plugins>
<plugin>
<groupId>at.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
然后,添加配置,需要注意的是,你需要配置你的maven,在下图的General⾥⾯,如果你已经使⽤了maven,就不⽤配了,可以查看General下配置是否正确。
安装与配置maven:
接下来你就可以启动你的项⽬了,祝你能够⼀步成功,哈哈哈哈。
肆:结果及问题
⼀:tomcat启动⽰意图:
本地tomcat:
maven内置tomcat:
⼆:结果
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论