SpringMVC写注释java程序中的单行注释符是时RequestMappingHandlerMapping无法初始化这是什么原因?

java - Spring mvc autowire RequestMappingHandlerMapping - Stack Overflow
to customize your list.
This site uses cookies to deliver our services and to show you relevant ads and job listings.
By using our site, you acknowledge that you have read and understand our , , and our .
Your use of Stack Overflow’s Products and Services, including the Stack Overflow Network, is subject to these policies and terms.
Join Stack Overflow to learn, share knowledge, and build your career.
or sign in with
I'm trying to autowire org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping in my spring mvc controller in order to get all url mappings and display them on UI, but not successfull. There is error that the bean is missing:
org.springframework.beans.factory.BeanCreationException: Could
not autowire field: org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping web.controller.WorkController.handlerM nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
My web.xml:
&display-name&Spring MVC Application&/display-name&
&servlet-name&mvc-dispatcher&/servlet-name&
&servlet-class&
org.springframework.web.servlet.DispatcherServlet
&/servlet-class&
&init-param&
&param-name&contextConfigLocation&/param-name&
&param-value&WEB-INF/mvc-dispatcher-servlet.xml&/param-value&
&/init-param&
&load-on-startup&1&/load-on-startup&
&/servlet&
&servlet-mapping&
&servlet-name&mvc-dispatcher&/servlet-name&
&url-pattern&/&/url-pattern&
&/servlet-mapping&
&context-param&
&param-name&contextConfigLocation&/param-name&
&param-value&/WEB-INF/root-context.xml&/param-value&
&/context-param&
&listener&
&listener-class&
org.springframework.web.context.ContextLoaderListener
&/listener-class&
&/listener&
My mvc-dispatcher-servlet.xml:
&context:annotation-config/&
&context:component-scan base-package="web.controller"/&
&bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"&
&property name="prefix"&
&value&/WEB-INF/views/&/value&
&/property&
&property name="suffix"&
&value&.jsp&/value&
&/property&
My root-context.xml:
&bean id="helloBean" class="web.beans.HelloBean"/&
The java controller:
package web.
import org.springframework.beans.factory.annotation.A
import org.springframework.context.ApplicationC
import org.springframework.stereotype.C
import org.springframework.web.bind.annotation.RequestM
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerM
import web.beans.HelloB
import java.util.L
@Controller
public class WorkController {
@Autowired RequestMappingHandlerMapping handlerM
@Autowired private HelloBean helloB
@Autowired private ApplicationContext applicationC
@RequestMapping(value = "/index")
public String index() {
return "index";
You should initiate the RequestMappingHandlerMapping bean
before autowired it.
It has two way:
In springxml config such as hello bean
&bean name="handlerMapping" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"&
&!-- add your properties here property name="..." value="..."&&/property--&
@Configuration
@Configuration
@ComponentScan("your.package")
@EnableWebMvc
public class AppConfig {
public RequestMappingHandlerMapping requestMappingHandlerMapping() {
RequestMappingHandlerMapping mapping = new RequestMappingHandlerMapping();
// add properties here
Try to get all request urls, The code below may be useful for you.
ServletContext servletContext = request.getSession().getServletContext();
WebApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(servletContext);
Map&String, HandlerMapping& allRequestMappings = BeanFactoryUtils.beansOfTypeIncludingAncestors(appContext, HandlerMapping.class, true, false);
for (HandlerMapping handlerMapping : allRequestMappings.values()) {
if (handlerMapping instanceof RequestMappingHandlerMapping) {
RequestMappingHandlerMapping requestMappingHandlerMapping = (RequestMappingHandlerMapping) handlerM
Map&RequestMappingInfo, HandlerMethod& handlerMethods = requestMappingHandlerMapping.getHandlerMethods();
for (Map.Entry&RequestMappingInfo, HandlerMethod& requestMappingInfoHandlerMethodEntry : handlerMethods.entrySet()) {
RequestMappingInfo requestMappingInfo = requestMappingInfoHandlerMethodEntry.getKey();
PatternsRequestCondition patternsCondition = requestMappingInfo.getPatternsCondition();
String requestUrl = SetUtils.first(patternsCondition.getPatterns());
System.out.println(requestUrl);
Frankly speaking, java reflect is a key point to get all request urls. if you look into the spring-mvc source deeply, you will find the implementation classes of
HandlerMapping interface, such as
AbstractControllerUrlHandlerMapping, AbstractDetectingUrlHandlerMapping,
AbstractHandlerMapping, AbstractHandlerMethodMapping,
AbstractUrlHandlerMapping, BeanNameUrlHandlerMapping,
ControllerBeanNameHandlerMapping, ControllerClassNameHandlerMapping,
DefaultAnnotationHandlerMapping, RequestMappingHandlerMapping,
RequestMappingInfoHandlerMapping, SimpleUrlHandlerMapping
Your Answer
Sign up or
Sign up using Google
Sign up using Facebook
Post as a guest
Post as a guest
Post Your Answer
By clicking &Post Your Answer&, you acknowledge that you have read our updated ,
and , and that your continued use of the website is subject to these policies.
Not the answer you're looking for?
Browse other questions tagged
Stack Overflow works best with JavaScript enabledRequestMappingHandlerMapping (Spring Framework 5.0.8.RELEASE API)
JavaScript is disabled on your browser.
Spring Framework
Class RequestMappingHandlerMapping
java.lang.Object
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
All Implemented Interfaces:
, , , , , , ,
public class RequestMappingHandlerMapping
implements ,
instances from type and method-level
annotations in
Arjen Poutsma, Rossen Stoyanchev, Sam Brannen
Field Summary
Fields inherited from class&org.springframework.context.support.
Fields inherited from interface&org.springframework.web.servlet.
Fields inherited from interface&org.springframework.core.
Constructor Summary
Constructors&
Constructor and Description
Method Summary
All Methods&&&
Modifier and Type
Method and Description
Detects handler methods at initialization.
(&requestMapping,
&?&&customCondition)
from the supplied
annotation, which is either
a directly declared annotation, a meta-annotation, or the synthesized
result of merging annotation attributes within an annotation hierarchy.
Return the configured .
protected &?&
(java.lang.reflect.Method&method)
Provide a custom method-level request condition.
protected &?&
(java.lang.Class&?&&handlerType)
Provide a custom type-level request condition.
java.util.List&java.lang.String&
Return the file extensions to use for suffix pattern matching.
(java.lang.reflect.Method&method,
java.lang.Class&?&&handlerType)
Uses method and type-level @ annotations to create
the RequestMappingInfo.
(java.lang.Object&handler,
java.lang.reflect.Method&method,
&mappingInfo)
Extract and return the CORS configuration for the mapping.
protected boolean
(java.lang.Class&?&&beanType)
Whether the given type is a handler with handler methods.
(&request,
java.lang.String&pattern)
Determine whether the given request matches the request criteria.
protected java.lang.String[]
(java.lang.String[]&patterns)
Resolve placeholder values in the given array of patterns.
(&contentNegotiationManager)
to use to determine requested media types.
(&resolver)
Set the StringValueResolver to use for resolving embedded definition values.
(boolean&useRegisteredSuffixPatternMatch)
Whether suffix pattern matching should work only against path extensions
explicitly registered with the .
(boolean&useSuffixPatternMatch)
Whether to use suffix pattern match (".*") when matching patterns to
(boolean&useTrailingSlashMatch)
Whether to match to URLs irrespective of the presence of a trailing slash.
Whether to use registered suffixes for pattern matching.
Whether to use suffix pattern matching.
Whether to match to URLs irrespective of the presence of a trailing slash.
Methods inherited from class&org.springframework.web.servlet.mvc.method.
Methods inherited from class&org.springframework.web.servlet.handler.
, , , , , , , , , , , , , ,
Methods inherited from class&org.springframework.web.servlet.handler.
, , , , , , , , , , , , , , , , , , , , , , , , ,
Methods inherited from class&org.springframework.web.context.support.
, , , , , ,
Methods inherited from class&org.springframework.context.support.
Methods inherited from class&java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface&org.springframework.web.servlet.
Constructor Detail
RequestMappingHandlerMapping
public&RequestMappingHandlerMapping()
Method Detail
setUseSuffixPatternMatch
public&void&setUseSuffixPatternMatch(boolean&useSuffixPatternMatch)
Whether to use suffix pattern match (".*") when matching patterns to
requests. If enabled a method mapped to "/users" also matches to "/users.*".
The default value is true.
more fine-grained control over specific suffixes to allow.
setUseRegisteredSuffixPatternMatch
public&void&setUseRegisteredSuffixPatternMatch(boolean&useRegisteredSuffixPatternMatch)
Whether suffix pattern matching should work only against path extensions
explicitly registered with the . This
is generally recommended to reduce ambiguity and to avoid issues such as
when a "." appears in the path for other reasons.
By default this is set to "false".
setUseTrailingSlashMatch
public&void&setUseTrailingSlashMatch(boolean&useTrailingSlashMatch)
Whether to match to URLs irrespective of the presence of a trailing slash.
If enabled a method mapped to "/users" also matches to "/users/".
The default value is true.
setContentNegotiationManager
public&void&setContentNegotiationManager(&contentNegotiationManager)
to use to determine requested media types.
If not set, the default constructor is used.
getContentNegotiationManager
public&&getContentNegotiationManager()
Return the configured .
setEmbeddedValueResolver
public&void&setEmbeddedValueResolver(&resolver)
Description copied from interface:&
Set the StringValueResolver to use for resolving embedded definition values.
Specified by:
&in interface&
afterPropertiesSet
public&void&afterPropertiesSet()
Description copied from class:&
Detects handler methods at initialization.
Specified by:
&in interface&
Overrides:
&in class&&&
useSuffixPatternMatch
public&boolean&useSuffixPatternMatch()
Whether to use suffix pattern matching.
useRegisteredSuffixPatternMatch
public&boolean&useRegisteredSuffixPatternMatch()
Whether to use registered suffixes for pattern matching.
useTrailingSlashMatch
public&boolean&useTrailingSlashMatch()
Whether to match to URLs irrespective of the presence of a trailing slash.
getFileExtensions
public&java.util.List&java.lang.String&&getFileExtensions()
Return the file extensions to use for suffix pattern matching.
protected&boolean&isHandler(java.lang.Class&?&&beanType)
Whether the given type is a handler with handler methods.
Expects a handler to have either a type-level @
annotation or a type-level @ annotation.
Specified by:
&in class&&&
Parameters:
beanType - the type of the bean being checked
"true" if this a handler type, "false" otherwise.
getMappingForMethod
protected&&getMappingForMethod(java.lang.reflect.Method&method,
java.lang.Class&?&&handlerType)
Uses method and type-level @ annotations to create
the RequestMappingInfo.
Specified by:
&in class&&&
Parameters:
method - the method to provide a mapping for
handlerType - the handler type, possibly a sub-type of the method's
declaring class
the created RequestMappingInfo, or null if the method
does not have a @RequestMapping annotation.
getCustomTypeCondition
protected&&?&&getCustomTypeCondition(java.lang.Class&?&&handlerType)
Provide a custom type-level request condition.
The custom
can be of any type so long as the
same condition type is returned from all calls to this method in order
to ensure custom request conditions can be combined and compared.
Consider extending
for custom
condition types and using
to provide
multiple custom conditions.
Parameters:
handlerType - the handler type for which to create the condition
the condition, or null
getCustomMethodCondition
protected&&?&&getCustomMethodCondition(java.lang.reflect.Method&method)
Provide a custom method-level request condition.
The custom
can be of any type so long as the
same condition type is returned from all calls to this method in order
to ensure custom request conditions can be combined and compared.
Consider extending
for custom
condition types and using
to provide
multiple custom conditions.
Parameters:
method - the handler method for which to create the condition
the condition, or null
createRequestMappingInfo
protected&&createRequestMappingInfo(&requestMapping,
&?&&customCondition)
from the supplied
annotation, which is either
a directly declared annotation, a meta-annotation, or the synthesized
result of merging annotation attributes within an annotation hierarchy.
resolveEmbeddedValuesInPatterns
protected&java.lang.String[]&resolveEmbeddedValuesInPatterns(java.lang.String[]&patterns)
Resolve placeholder values in the given array of patterns.
a new array with updated patterns
public&&match(&request,
java.lang.String&pattern)
Description copied from interface:&
Determine whether the given request matches the request criteria.
Specified by:
&in interface&
Parameters:
request - the current request
pattern - the pattern to match
the result from request matching, or null if none
initCorsConfiguration
protected&&initCorsConfiguration(java.lang.Object&handler,
java.lang.reflect.Method&method,
&mappingInfo)
Description copied from class:&
Extract and return the CORS configuration for the mapping.
Overrides:
&in class&&&
Spring Framework人气:4510075
访问用户量:4153
笔记经验:
总积分:261656
级别:VIP5
搜索本笔记
ta的交流分类
ta的全部笔记
浏览(41324)|(2)
&&交流分类:|笔记分类:
6.1、注解式控制器简介
一、Spring2.5之前,我们都是通过实现Controller接口或其实现来定义我们的处理器类。已经@Deprecated。
二、Spring2.5引入注解式处理器支持,通过@Controller 和 @RequestMapping注解定义我们的处理器类。并且提供了一组强大的注解:
需要通过处理器映射DefaultAnnotationHandlerMapping和处理器适配器AnnotationMethodHandlerAdapter来开启支持@Controller 和 @RequestMapping注解的处理器。
@Controller:用于标识是处理器类;
@RequestMapping:请求到处理器功能方法的映射规则;
@RequestParam:请求参数到处理器功能处理方法的方法参数上的绑定;
@ModelAttribute:请求参数到命令对象的绑定;
@SessionAttributes:用于声明session级别存储的属性,放置在处理器类上,通常列出模型属性(如@ModelAttribute)对应的名称,则这些属性会透明的保存到session中;
@InitBinder:自定义数据绑定注册支持,用于将请求参数转换到命令对象属性的对应类型;
三、Spring3.0引入RESTful架构风格支持(通过@PathVariable注解和一些其他特性支持),且又引入了更多的注解支持:
@CookieValue:cookie数据到处理器功能处理方法的方法参数上的绑定;
@RequestHeader:请求头(header)数据到处理器功能处理方法的方法参数上的绑定;
@RequestBody:请求的body体的绑定(通过HttpMessageConverter进行类型转换);
@ResponseBody:处理器功能处理方法的返回值作为响应体(通过HttpMessageConverter进行类型转换);
@ResponseStatus:定义处理器功能处理方法/异常处理器返回的状态码和原因;
@ExceptionHandler:注解式声明异常处理器;
@PathVariable:请求URI中的模板变量部分到处理器功能处理方法的方法参数上的绑定,从而支持RESTful架构风格的URI;
四、Spring3.1使用新的HandlerMapping 和 HandlerAdapter来支持@Contoller和@RequestMapping注解处理器。
新的@Contoller和@RequestMapping注解支持类:处理器映射RequestMappingHandlerMapping 和 处理器适配器RequestMappingHandlerAdapter组合来代替Spring2.5开始的处理器映射DefaultAnnotationHandlerMapping和处理器适配器AnnotationMethodHandlerAdapter,提供更多的扩展点。
接下来,我们一起开始学习基于注解的控制器吧。
(1、控制器实现
java代码:
package cn.javass.chapter6.web.
//省略import
@Controller
// 或 @RequestMapping
//①将一个POJO类声明为处理器
public class HelloWorldController {
@RequestMapping(value = &/hello&)
//②请求URL到处理器功能处理方法的映射
public ModelAndView helloWorld() {
//1、收集参数
//2、绑定参数到命令对象
//3、调用业务对象
//4、选择下一个页面
ModelAndView mv = new ModelAndView();
//添加模型数据 可以是任意的POJO对象
mv.addObject(&message&, &Hello World!&);
//设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面
mv.setViewName(&hello&);
//○3 模型数据和逻辑视图名
1 可以通过在一个POJO类上放置@Controller或@RequestMapping,即可把一个POJO类变身为处理器;
2&@RequestMapping(value = &/hello&) 请求URL(/hello) 到 处理器的功能处理方法的映射;
3 模型数据和逻辑视图名的返回。
现在的处理器无需实现/继承任何接口/类,只需要在相应的类/方法上放置相应的注解说明下即可,非常方便。
(2、Spring配置文件chapter6-servlet.xml
(2.1、HandlerMapping和HandlerAdapter的配置
如果您使用的是Spring3.1之前版本,开启注解式处理器支持的配置为:DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter。
java代码:
&!—Spring3.1之前的注解 HandlerMapping --&
class=&org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping&/&
&!—Spring3.1之前的注解 HandlerAdapter --&
class=&org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter&/&
如果您使用的Spring3.1开始的版本,建议使用RequestMappingHandlerMapping和RequestMappingHandlerAdapter。
java代码:
&!--Spring3.1开始的注解 HandlerMapping --&
class=&org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping&/&
&!--Spring3.1开始的注解 HandlerAdapter --&
class=&org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter&/&
下一章我们介绍DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter 与RequestMappingHandlerMapping和RequestMappingHandlerAdapter 的区别。
(2.2、视图解析器的配置
还是使用之前的org.springframework.web.servlet.view.InternalResourceViewResolver。
(2.3、处理器的配置
java代码:
&!-- 处理器 --&
&bean class=&cn.javass.chapter6.web.controller.HelloWorldController&/&
只需要将处理器实现类注册到spring配置文件即可,spring的DefaultAnnotationHandlerMapping或RequestMappingHandlerMapping能根据注解@Controller或@RequestMapping自动发现。
(2.3、视图页面(/WEB-INF/jsp/hello.jsp)
java代码:
&%@ page language=&java& contentType=&text/ charset=UTF-8& pageEncoding=&UTF-8&%&
&!DOCTYPE html PUBLIC &-//W3C//DTD HTML 4.01 Transitional//EN& &http://www.w3.org/TR/html4/loose.dtd&&
&meta http-equiv=&Content-Type& content=&text/ charset=UTF-8&&
&title&Hello World&/title&
${message}
${message}:表示显示由HelloWorldController处理器传过来的模型数据。
(4、启动服务器测试
地址栏输入,我们将看到页面显示“Hello World!”,表示成功了。
整个过程和我们第二章中的Hello World 类似,只是处理器的实现不一样。接下来我们来看一下具体流程吧。
6.3、运行流程
和第二章唯一不同的两处是:
1、HandlerMapping实现:使用DefaultAnnotationHandlerMapping(spring3.1之前)或RequestMappingHandlerMapping(spring3.1)替换之前的BeanNameUrlHandlerMapping。
注解式处理器映射会扫描spring容器中的bean,发现bean实现类上拥有@Controller或@RequestMapping注解的bean,并将它们作为处理器。
2、HandlerAdapter实现:使用AnnotationMethodHandlerAdapter(spring3.1之前)或RequestMappingHandlerAdapter(spring3.1)替换之前的SimpleControllerHandlerAdapter。
注解式处理器适配器会通过反射调用相应的功能处理方法(方法上拥有@RequestMapping注解)。
好了到此我们知道Spring如何发现处理器、如何调用处理的功能处理方法了,接下来我们详细学习下如何定义处理器、如何进行请求到功能处理方法的定义。
6.4、处理器定义
6.4.1、@Controller
java代码:
@Controller
public class HelloWorldController {
推荐使用这种方式声明处理器,它和我们的@Service、@Repository很好的对应了我们常见的三层开发架构的组件。
6.4.2、@RequestMapping
java代码:
@RequestMapping
public class HelloWorldController {
这种方式也是可以工作的,但如果在类上使用@ RequestMapping注解一般是用于窄化功能处理方法的映射的,详见6.4.3。
package cn.javass.chapter6.web.
@Controller
@RequestMapping(value=&/user&)&&&&&&&&&&&&&&&& //①处理器的通用映射前缀
public class HelloWorldController2 {
&&& @RequestMapping(value = &/hello2&)&&&&&&& //②相对于①处的映射进行窄化
&&& public ModelAndView helloWorld() {
&&&&&&&& //省略实现
6.4.3、窄化请求映射
java代码:
package cn.javass.chapter6.web.
@Controller
@RequestMapping(value=&/user&)
//①处理器的通用映射前缀
public class HelloWorldController2 {
@RequestMapping(value = &/hello2&)
//②相对于①处的映射进行窄化
public ModelAndView helloWorld() {
//省略实现
①类上的@RequestMapping(value=&/user&) 表示处理器的通用请求前缀;
②处理器功能处理方法上的是对①处映射的窄化。
因此的 helloWorld功能处理方法;而是可以的。
窄化请求映射可以认为是方法级别的@RequestMapping继承类级别的@RequestMapping。
窄化请求映射还有其他方式,如在类级别指定URL,而方法级别指定请求方法类型或参数等等,后续会详细介绍。
到此,我们知道如何定义处理器了,接下来我们需要学习如何把请求映射到相应的功能处理方法进行请求处理。
6.5、请求映射
处理器定义好了,那接下来我们应该定义功能处理方法,接收用户请求处理并选择视图进行渲染。首先我们看一下图6-1:
http请求信息包含六部分信息:
①请求方法,如GET或POST,表示提交的方式;
②URL,请求的地址信息;
③协议及版本;
④请求头信息(包括Cookie信息);
⑤回车换行(CRLF);
⑥请求内容区(即请求的内容或数据),如表单提交时的参数数据、URL请求参数(?abc=123 ?后边的)等。
想要了解HTTP/1.1协议,请访问。
那此处我们可以看到有①、②、④、⑥一般是可变的,因此我们可以这些信息进行请求到处理器的功能处理方法的映射,因此请求的映射分为如下几种:
URL路径映射:使用URL映射请求到处理器的功能处理方法;
请求方法映射限定:如限定功能处理方法只处理GET请求;
请求参数映射限定:如限定只处理包含“abc”请求参数的请求;
请求头映射限定:如限定只处理“Accept=application/json”的请求。
接下来看看具体如何映射吧。
原创内容()
原创内容,转载请注明私塾在线【】
相关笔记推荐
精品视频课程推荐
本课程专注于数据结构和算法的内容,使用Java来进行代码示例,不空洞的讲解概念和理论,重点放在代码的实现和示例上。
从零开始、全面系统、成体系的讲解数据结构和基本算法,循序渐进的讲述构建软件系统所常见的数据结构和算法。
本视频课程是北京Java私塾原创精品书籍《研磨设计模式》一书的配套学习视频,由《研磨设计模式》的第一作者CC录制
课程目标:全面、系统的掌握GoF设计模式的知识,达到可以在实际项目开发中运用的能力
技术要点:如何实现可配置、如何实现缓存以及缓存的管理、如何实现用缓存来控制多实例的创建、如何实现参数化工厂、 如何实现可扩展工厂、如何实现原型管理器、如何实现Java的静态代理和动态代理、如何实现多线程处理队列请求、 如何实现命令的参数化配置、可撤销的操作、宏命令、队列请求和日志请求、如何实现翻页迭代、如何检测环状结构、 如何实现通用的增删改查、如何模拟工作流来处理流程、如何实现简单又通用的XML读取、如何实现模拟AOP的功能......
数据校验、Javascript模拟多线程、下拉列表联动、操作XML、AJAX结合JSON的操作、Json-lib的使用
WebLogic基础知识:WebLogic基本概念、正确安装WebLogic、建域、应用部署于JDBC选择、对WebLogic的监控和日志查看、集群的高可用性;课程目标:彻底掌握WebLogic的基本概念,在理解基本概念的基础上做到正确的安装WebLogic,根据不同的需求创建域,合理选择应用部署和JDBC配置。熟练掌握WebLogic的console监控,了解各种性能和运行指标,以及对监控结果的分析,运用集群的高可用性,对集群架设。
系统、完整的学习Spring Data JPA开发的知识。包括:Spring Data JPA入门;JpaRepository基本功能 ;JpaRepository的查询;客户化扩展JpaRepository;Specifications查询。
浏览(41324)|(2)
&&交流分类:|笔记分类:
我去。一看就懂了。比spring实战讲解的还精准。可能spring实战测重于理论。这里测重于实践。
狠狠的学习了。
版权所有 Copyright(C) 私塾在线学习网

我要回帖

更多关于 正确的程序注释 的文章

 

随机推荐