springmvc配置文件有几个(Spring MVC 配置文件讲解)
本文目录
- Spring MVC 配置文件讲解
- j2ee里面项目开发spring整合springmvc两个配置文件合在一起吗
- SpringMVC框架搭建的几个核心配置
- spring mvc +ibatis 怎样配置自动加载多个sqlmap.xml文件
- springmvc中的怎么配置多个
- application.properties有哪些配置springmvc
- springmvc配置文件springmvc-servlet.xml
- spring3 spring3 mvc 配置文件整合问题,哪种配置更好
- Springmvc为什么要配置两个配置文件
Spring MVC 配置文件讲解
使用@Controller定义一个控制器 使用@RequestMapping映射请求 使用@RequestParam绑定请求参数到方法参数 使用@ModelAttribute提供一个从模型到数据的链接 使用@SessionAttributes指定存储在会话中的属性《context:annotation-config/》他的作用是隐式地向 Spring 容器注册AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor、PersistenceAnnotationBeanPostProcessor、RequiredAnnotationBeanPostProcessor 这 4 个BeanPostProcessor。例如:如果想使用@ Resource 、@ PostConstruct、@ PreDestroy等注解就必须声明CommonAnnotationBeanPostProcessor。如果想使用@PersistenceContext注解,就必须声明PersistenceAnnotationBeanPostProcessor的Bean。如果你想使用@Autowired注解,那么就必须事先在 Spring 容器中声明 AutowiredAnnotationBeanPostProcessor Bean。传统声明方式如下:《bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor "/》 如果想使用 @Required的注解,就必须声明RequiredAnnotationBeanPostProcessor的Bean。同样,传统的声明方式如下:《bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor"/》 记得,使用注解一般都会配置扫描包路径选项《context:component-scan base-package=”XX.XX”/》 《servlet》《servlet-name》dispatcherServlet《/servlet-name》《servlet-class》org.springframework.web.servlet.DispatcherServlet《/servlet-class》《init-param》《param-name》contextConfigLocation《/param-name》《param-value》/WEB-INF/dispatcherServlet-servlet.xml《/param-value》《/init-param》《load-on-startup》1《/load-on-startup》《/servlet》《servlet-mapping》《servlet-name》dispatcherServlet《/servlet-name》《url-pattern》*.do《/url-pattern》《/servlet-mapping》这个配置常常见于web.xml文件中《load-on-startup》1《/load-on-startup》是启动顺序,让这个Servlet随Servletp容器一起启动。 《url-pattern》*.do《/url-pattern》 会拦截*.do结尾的请求。《servlet-name》dispatcherServlet《/servlet-name》这个Servlet的名字是dispatcherServlet,可以有多个DispatcherServlet,是通过名字来区分的。每一个DispatcherServlet有自己的WebApplicationContext上下文对象。同时保存的ServletContext中和Request对象中,关于key,以后说明。 在DispatcherServlet的初始化过程中,框架会在web应用的 WEB-INF文件夹下寻找名为-servlet.xml 的配置文件,生成文件中定义的bean。《init-param》《param-name》contextConfigLocation《/param-name》《param-value》/WEB-INF/dispatcherServlet-servlet.xml《/param-value》《/init-param》指明了配置文件的文件名,不使用默认配置文件名,而使用springMVC.xml配置文件。其中《param-value》**.xml《/param-value》 这里可以使用多种写法1、不写,使用默认值:/WEB-INF/《servlet-name》-servlet.xml2、《param-value》/WEB-INF/classes/springMVC.xml《/param-value》3、《param-value》classpath*:springMVC-mvc.xml《/param-value》4、多个值用逗号分隔springMVC-mvc.xml 配置文件片段讲解《context:annotation-config/》《!-- 自动扫描的包名 --》 《context:component-scan base-package="com.iflysse"/》 《!-- 默认的注解映射的支持 --》 《mvc:annotation-driven/》《!-- 视图解释类 --》 《bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"》 《property name="prefix" value="/WEB-INF/jsp/"/》 《property name="suffix" value=".jsp"/》《!--可为空,方便实现自已的依据扩展名来选择视图解释类的逻辑 --》 《property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /》 《/bean》 《mvc:annotation-driven /》 是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案。《mvc:annotation-driven /》 会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的。并提供了:数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支持(JAXB),读写JSON的支持(Jackson)。后面,我们处理响应ajax请求时,就使用到了对json的支持。后面,对action写JUnit单元测试时,要从spring IOC容器中取DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,来完成测试,取的时候要知道是《mvc:annotation-driven /》这一句注册的这两个bean。《!-- json 支持 --》《bean id="mappingJacksonHttpMessageConverter"***隐藏网址***《property name="objectMapper" ref="commonObjectMapper"/》《property name="supportedMediaTypes"》《list》《value》text/html;charset=UTF-8《/value》《/list》《/property》《/bean》 《!-- ObjectMapper json转换 --》《bean id="commonObjectMapper" class="cn.com.starit.util.CommonObjectMapper"/》
j2ee里面项目开发spring整合springmvc两个配置文件合在一起吗
正常情况下,springmvc.xml 和applicationcontext.xml 是两个文件。而且他们的装载也不在一起。也就是说,applicationcontext.xml中定义的bean,springmvc中不能访问。
SpringMVC框架搭建的几个核心配置
SpringMVC几个核心类
控制器核心类
org.springframework.web.servlet.DispatcherServlet - 配置web.xml
加载配置文件核心类,
org.springframework.web.context.ContextLoaderListener – spring的配置文件
处理url影射核心类,
org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping-根据bean的名称请求一个bean. spring的配置文件- /abc
处理视图资源核心类,
org.springframework.web.servlet.view.ResourceBundleViewResolverreturn hello – 决定返回的字符串由哪一个页面来显示。《context:component-scan package=“cn.hncu”/》用于替代上面的类。
方法动态调用核心类)
org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver
图解
spring mvc +ibatis 怎样配置自动加载多个sqlmap.xml文件
Spring粘合iBatis的时候需要配置iBatis的SqlMapConfig.xml对于项目多个模块而又想同时能管理起来,普遍的单个SqlMapConfig.xml就会显得臃肿可喜的是Spring已经为大家想好这一切,提供能灵活的配置configLocation // 单个SqlMapConfig.xmlconfigLocations // 多个SqlMapConfig.xmlmappingLocations // 自动匹配SqlMapConfig.xml假设现在有几个配置文件,分别存放在不同的目录,结构如下classes|----SqlMapConfig.xml|----com.xxx|----aModule| |----A-SqlMapConfig.xml|----BModule|----B-SqlMapConfig.xml现在通过Spring配置以上几个SqlMapConfig.xmlJava代码 《bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"》 《!-- 1. 配置单个SqlMapConfig.xml, 使用configLocation属性--》 《property name="configLocation" value="classpath:SqlMapConfig.xml"/》 《!-- 2. 配置多个SqlMapConfig.xml, 使用configLocations属性--》 《!-- 不包含class目录下的SqlMapConfig.xml --》 《property name="configLocations"》 《list》 《value》classpath:com/xxx/a/A-SqlMapConfig.xml《/value》 《value》classpath:com/xxx/b/B-SqlMapConfig.xml《/value》 《/list》 《/properties》 《!-- 3. 匹配多个SqlMapConfig.xml, 使用mappingLocation属性--》 《!-- 不包含class目录下的SqlMapConfig.xml --》 《property name="mappingLocations" value="classpath:com/xxx/*/*-SqlMapConfig.xml"/》 《!-- 其他配置,例如dataSource等等 --》 《property name="dataSource" ref="dataSource"/》 《/bean》 这样,Spring就解决了多个模块下不同模块之前独立配置sqlMapConfog.xml的问题了。
springmvc中的怎么配置多个
场景描述:有多个数据库,每个数据库可能分布在不同的mysql instance上面,有多个存储过程,每个存储过程可能分布在不同的数据库中,需要有两个配置文件。 1. mysql 数据库映射: A.driverClassName=com.mysql.jdbc.DriverA.url=jdbc:mysql://172.20.7.51:3308/blogA.username=trappuserA.password=Opera1!B.driverClassName=com.mysql.jdbc.DriverB.url=jdbc:mysql://localhost:3306/weddingB.username=rootB.password=opera 上面定义的A、B为两个mysql instance的缩写。 2. 存储过程与mysql instance的映射关系: SP_Get_User=AGetStocks=B 定义两个模拟存储过程,第一个数据库“SP_Get_User“是在数据库A下面,第二个数据库”GetStocks“是在数据库B下面。3. 建立自定义的sessionFactory 3.1 xml配置的datasource及sessionFactory如下: 《bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" id="dataSource"》《property name="driverClassName" value="${database.driverClassName}"/》《property name="url" value="${database.url}"/》《property name="username" value="${database.username}"/》《property name="password" value="${database.password}"/》《/bean》《bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"》《property name="dataSource" ref="dataSource"/》《property name="packagesToScan" value="com.xx.assetcommander"》《/property》《property name="hibernateProperties"》《props》《prop key="hibernate.dialect"》org.hibernate.dialect.MySQLDialect《/prop》《prop key="hibernate.show_sql"》true《/prop》《/props》《/property》《/bean》 此处我们定义的sessionFactory的类型为LocalSessionFactoryBean,它是一个工厂对象,与我们再需要的 SessionFactory不是一回事,我们需要的sessionfactory是org.hibernate.SessionFactory,这个对象可以被第一个sessionFactory的getObject()方法生成。 3.2 由于我们连接的是多个mysql instance, 不方便在xml中配置多个datasource和多个sessionFactory,故可以通过纯java的形式开发,可以使用map来存储存储过程与mysql database的关系,将存储过程的名字和数据库建议关系,这样通过存储过程的名称就能得到数据库的缩写名,通过数据库的缩写名能够找到对应的mysql instance,使用纯java开发的过程类似于xml配置,如下: ds.setDriverClassName(getDriver());ds.setUrl(getUrl());ds.setUsername(getUsername());ds.setPassword(getPassword());LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();sessionFactory.setDataSource(ds);sessionFactory.setPackagesToScan("com.xx.assetcommander");Properties params = new Properties();params.setProperty("hibernate.dialect","org.hibernate.dialect.MySQLDialect");params.setProperty("hibernate.show_sql", "true");sessionFactory.setHibernateProperties(params); 当我们获得可以使用的LocalSessionFactoryBean时候,在调用getObject()获得SessionFactory之前,必须要调用afterPropertiesSet()方法,否则得到的sessionFactory为空。 public Session getDsBySp(String spName) throws IOException {//get the corresponding mysql database shortname by sp nameString dbName = getDbForSP(str);//get the corresponding mysql instance connection by mysql database shortnameLocalSessionFactoryBean fB = getDsByDb(dbName);// don’t forget this line or null will be returned when you call getObject() method.fB.afterPropertiesSet();return fB.getObject().openSession();} 注:在tomcat启动时,如果没有配置任何datasource,会出现如下错误: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type is defined故需要配置默认的datasource.这种方式需要做到不同的数据库instance直接业务的完全独立,不可以出现跨数据库的表join,否则处理难度会增加。还有就是对于多数据库直接的事务管理如何去处理?
application.properties有哪些配置springmvc
1) 应用配置 (SpringApplication) # 运行时显示的横幅(Banner) spring.banner.charset=UTF-8 # banner 文件编码 spring.banner.location=banner.txt # banner 文件位置 spring.main.banner-mode=console # 横幅(banner)的模式,可选值:off、console、log spring.config.name=application # 配置文件名 spring.config.location= # 配置文件位置 spring.aop.auto=true # AOP 切面,添加 @EnableAspectJAutoProxy spring.aop.proxy-target-class=false # 是否要创建基于子类(CGLIB)的代理(true),而不是基于标准的基于Java接口的代理(false) spring.autoconfigure.exclude= # 自动配置类排除 spring.beaninfo.ignore= true # 跳过搜索BeanInfo类 2) Spring 缓存配置 spring.cache.cache-names= # 由底层缓存管理器支持的要创建的缓存名称的逗号分隔列表 spring.cache.ehcache.config= # 用于初始化 EhCache 的配置文件的位置 spring.cache.guava.spec= # 用于创建缓存的规范,检查 CacheBuilderSpec 有关规格格式的更多细节 spring.cache.hazelcast.config= # 用于初始化 Hazelcast的 配置文件的位置 spring.cache.infinispan.config= # 用于初始化 Infinispan 的配置文件的位置 spring.cache.jcache.config= # 用于初始化缓存管理器的配置文件的位置 spring.cache.jcache.provider= # 用于检索符合 JSR-107 的缓存管理器的 CachingProvider 实现的完全限定名称 spring.cache.type= # 缓存类型,默认情况下根据环境自动检测 3) Redis 配置 (RedisProperties) spring.redis.database=0 # 连接工厂使用的数据库索引 spring.redis.host=localhost # Redis 服务器主机 spring.redis.port=6379 # Redis 服务器端口 spring.redis.password= # 登录 Redis 服务器的密码 spring.redis.timeout=0 # 连接超时(毫秒) spring.redis.pool.max-active=8 # 给定时间池可以分配的最大连接数,使用负值为无限制 spring.redis.pool.max-idle=8 # 池中 “空闲” 连接的最大数量,使用负值来表示无限数量的空闲连接 spring.redis.pool.max-wait=-1 # 连接分配在池耗尽之前在抛出异常之前应阻止的最大时间量(以毫秒为单位),使用负值无限期地阻止 spring.redis.pool.min-idle=0 # 定义池中维护的最小空闲连接数,此设置只有在正值时才有效果 spring.redis.sentinel.master= spring.redis.sentinel.nodes=
springmvc配置文件springmvc-servlet.xml
你好!
spring mvc 的
《mvc:resources mapping="***" location="***"》
标签是用来进行配置静态资源访问的。
mapping就是表示你的请求路径,在你这个例子里就是相对路径为/statics的请求
location就是表示mapping请求的最终位置,即mapping的请求最后指向的位置
举个栗子:
***隐藏网址***当springmvc拦截后,会去项目的static目录找test.js这个文件
因为是同名所以可能会看不清楚,可以更换下配置,比如:
《mvc:resources mapping="/javascript/**" location="/statics/javascript/"/》《mvc:resources mapping="/styles/**" location="/statics/css/"/》《mvc:resources mapping="/images/**" location="/statics/images/"/》
***隐藏网址***目录下的javascript目录找test.js,同理访问..../styles/xxx.css会到项目下statics目录下的css目录找xxx.css,images也同样。
希望对你有帮助!
spring3 spring3 mvc 配置文件整合问题,哪种配置更好
现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理。 一、Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0) 1. jar包引入 Spring 2.5.6:spring.jar、spring-webmvc.jar、commons-logging.jar、cglib-nodep-2.1_3.jar Hibernate 3.6.8:hibernate3.jar、hibernate-jpa-2.0-api-1.0.1.Final.jar、antlr-2.7.6.jar、commons-collections-3.1、dom4j-1.6.1.jar、javassist-3.12.0.GA.jar、jta-1.1.jar、slf4j-api-1.6.1.jar、slf4j-nop-1.6.4.jar、相应数据库的驱动jar包SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是DispatcherServlet,DispatcherServlet负责转发每一个Request请求给相应的Handler,Handler处理以后再返回相应的视图(View)和模型(Model),返回的视图和模型都可以不指定,即可以只返回Model或只返回View或都不返回。DispatcherServlet是继承自HttpServlet的,既然SpringMVC是基于DispatcherServlet的,那么我们先来配置一下DispatcherServlet,好让它能够管理我们希望它管理的内容。HttpServlet是在web.xml文件中声明的。springorg.springframework.web.servlet.DispatcherServlet《!-- 可以自定义servlet.xml配置文件的位置和名称,默认为WEB-INF目录下,名称为-servlet.xml,如spring-servlet.xmlcontextConfigLocation/WEB-INF/spring-servlet.xml 默认--》1spring*.doorg.springframework.web.context.ContextLoaderListenercontextConfigLocationclasspath:config/applicationContext.xmlspring-servlet.xml配置 spring-servlet这个名字是因为上面web.xml中标签配的值为spring(spring),再加上“-servlet”后缀而形成的spring-servlet.xml文件名,如果改为springMVC,对应的文件名则为springMVC-servlet.xml。《beans xmlns="" xmlns:xsi="" xmlns:p="" xmlns:context="" xsi:schemaLocation=" /spring-beans-3.0.xsd /spring-aop-3.0.xsd /spring-tx-3.0.xsd /spring-context-3.0.xsd"》 DispatcherServlet会利用一些特殊的bean来处理Request请求和生成相应的视图返回。关于视图的返回,Controller只负责传回来一个值,然后到底返回的是什么视图,是由视图解析器控制的,在jsp中常用的视图解析器是InternalResourceViewResovler,它会要求一个前缀和一个后缀在上述视图解析器中,如果Controller返回的是blog/index,那么通过视图解析器解析之后的视图就是/jsp/blog/index.jsp。
Springmvc为什么要配置两个配置文件
springmvc呢,光从名字就知道,最少有spring的配置,mvc的配置.mvc是model:view:controller的综合.大概就是,启动项目,spring把model,view,controller,serivce,dao这些东西扫描到.然后给每个都创建一个实例,加到一个缓存里.哪里业务调用了,就把自己创建的实例传给他们.配置文件有几个都行,没有都行.关键你要了解,配置文件,就是用来帮助项目去运行的,他想要把自己运行起来,他必须知道,到底哪些类需要创建对象,哪些不需要,他到底要管理谁,你不写配置文件,spring没那么智能,他也不知道.所以配置文件的本质,就是把spring啊,spingmvc,或者spingboot这些框架给初始化了.大部分的配置不用你写文件声明,都有默认值,你不配置,框架就按默认值初始化自己,但如果你配置了,他就按你配置的初始化.所以你这个问题,我很难回答为什么是两个,因为不一定是两个,你要合并配置文件后,可能就一个,你要特定情况,连配置文件都没有,全注解就运行了.所以没办法回答你.如果非要回答,说个官方点的:不一定几个配置文件,大多数是用来声明spring容器要管理的事哪些类.以及要不要开启事务.要不要使用持久层框架,如果使用,使用哪种.类似这种的配置.具体的,每个项目都不一样.虽然大同小异,但还是有很多差别.当初我学的时候,我的做法是,先拿一个老项目,如果自己手里没有,就github上随便找个老项目,springmvc的,拿过来他的配置文件,挨个查标签含义.了解最快了,顺便连运行逻辑都看明白了.
更多文章:
office lens(officelens 怎么转pdf)
2024年5月4日 12:09
界面设计,网页设计,平面设计,他们之间的区别是什么?关于界面设计
2024年7月22日 01:38
win7仿xp主题(windows7系统怎么把界面或者主题改成XP3)
2024年4月11日 23:15