【一、web.xml中常用的配置】
1、指定Spring配置文件路径 2、Spring核心监听器 3、字符编码过来自 4、springmvc入口
<!--1、指定Spring配置文件路径-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/applicationContext*.xml</param-value>
</context-param>
<!--2、Spring核心监听器,监听项目启动,初始化IOC容器-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--3、字符编码过滤器-->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<!--初始化字符编码过滤器,设置为UTF-8-->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<!--映射路径,过滤所有请求-->
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--4、springmvc入口:包括创建servlet名字、类的入口和初始化的路径-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/springmvc-servlet.xml</param-value>
</init-param>
<!--启动级别设为1,随着服务器启动而启动-->
<load-on-startup>1</load-on-startup>
</servlet>
<!--springmvc的映射路径,配置/是为了迎合rest风格-->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
【二、在resource目录下创建jdbc.properties】 和spring在同一层目录
jdbc.driverClass=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/Demo jdbc.username=root jdbc.password=1234
【三、applicationContext.xml常用的配置】 1、配置包扫描 2、加载外部资源文件 3、引入外部资源文件
1、配置包扫描 <context:component-scan base-package=“travel.service.impl”/>
2、加载外部资源文件 <context:property-placeholder location=“classpath:jdbc.properties”/>
3、引入数据源
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${jdbc.driverClass}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
【四、springmvc-servlet.xml中配置】 1、配置包扫描 2、配置注解驱动 3、配置视图解析器 4、解决静态资源被拦截问题
<context:component-scan base-package="controller"/>
<!--配置注解驱动-->
<mvc:annotation-driven/>
<!--配置视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--配置前缀-->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!--配置后缀-->
<property name="suffix" value=".jsp"/>
</bean>
<!--解决静态资源被拦截的问题-->
<!--这是一个默认的handler,底层其实走的是转发到相应的今天资源路径-->
<mvc:default-servlet-handler/>
【五、applicationContext-mybatis.xml配置】 1、把SqlSessionFactory作为Bean交给Spring来管理
<!--把SqlSessionFactory作为bean交给Spring来管理-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--创建SqlSessionFactory需要数据源-->
<property name="dataSource" ref="dataSource"/>
<!--mybatis核心配置文件路径-->
<property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/>
<!--注入映射文件路径-->
<property name="mapperLocations" value="classpath:mybatis/mapper/**/*.xml"/>
<!--注入别名实体类所在的包-->
<property name="typeAliasesPackage"value="travel.domain"/>
</bean>在这里插入代码片
2、把mapper接口交给spring来管理
<!--把mapper接口交给spring来管理-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!--mapper文件的基包-->
<property name="basePackage " value="travel.mapper"/>
</bean>
【六、在resource目录下新建mybatis包,在其包下新建mybatis-config.xml配置文件】
<settings>
<!-- 开启驼峰匹配:完成从经典的数据库列名(下划线)到驼峰式属性的映射 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
【七、在mybatis包下创建mapper.xml】 存放映射文件
【八、在spring下创建applicationContext-tx.xml存放事物配置相关】 1、配置事物管理器 2、配置事物的属性 3、配置AOP切面告诉spring哪些地方要加事物,
<!--class=表名是基于数据源的事物管理器-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!--注入数据源-->
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="find*" read-only="true"/>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
<aop:config>
<!--切入点表达式-->
<aop:pointcut id="pt" expression="execution(* travel.service.impl.*.*(..))"/>
<!--把以上的事物规则应用到切入点上-->
<aop:advisor advice-ref="txAdvice" pointcut-ref="pt"/>
</aop:config>
【九、在resources下引入日志】
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### direct messages to file mylog.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=c:/mylog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=debug, stdout
【十、将编译插件放在SSM的父工程pom文件中】
<!--jdk编译插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>utf-8</encoding>
</configuration>
</plugin>
【十一、标签和的不同】 dependencymanagement是对版本和依赖进行集中管理, 为了项目的正确运行,必须让所有的子模块使用依赖项的统一版本,必须确保应用的各个项目的依赖项和版本一致,才能保证测试的和发布的是相同的结果。Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用在这个dependencyManagement元素中指定的版本号。
dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显式的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/1514.html