java高级02:springMVC正式搭建项目(开发环境)

目录

一、spring的IOC容器和DI(依赖注入)

1.IOC容器:

2. DI 依赖注入

二、springMVC正式搭建项目(开发环境)

1.新建项目

2.配置文件的创建:

log4j.properties

db.properties (记得改所用数据库名cc_student处)

SqlMapConfig.xml (记得改包名demo处)

application_db.xml(Ctrl+F修改com.tyxc到自己的包)

springmvc.xml(同上Ctrl+F修改com.tyxc到自己的包)

域名命名方式:(倒过来)

3.src结构创建

4.加载项目的lib

5.web.xml

6.运行检验


一、spring的IOC容器和DI(依赖注入)

1.IOC容器:

就是具有依赖注入功能的容器,是一个可以创建对象的容器。

不仅仅有容器的临时存储功能,还可以创建对象,例如:Manager m=new Manager();

IOC主要负责实例化,定位。

配置应用程序的对象及建立这些对象之间的依赖关系:MVC

控制反转是指new实例工作不由程序员来担任,主要由spring来接管

2. DI 依赖注入

在容器创建对象后,处理对象的依赖关系,

依赖注入在spring中一共有四种方式:

(1)set注入方式(常用)

(2)静态工厂注入方式(不常用)

(3)构造方法的构造方式(常用)

(4)基于注解的注入方式(常用)

二、springMVC正式搭建项目(开发环境)

1.新建项目

file-》new-》dynamic web project-》起名-》next-》next-》勾选核心配置-》finish

创建成功!

关于eclipse和idea的选择:

自己完成的项目用eclipse,有后续的大项目需要团队的IDEA。

2.配置文件的创建:

根目录文件夹创建:new->source folder(相当于src同等优先级,)-》名字叫config(不能叫别的,否则不能被config自动加载)

 一般config只有项目经理可以修改。

src存放的是项目的源代码。

config内部结构:

log4j.properties   ---   输出日志的格式定义(可以在百度上查,遵循API)

db.properties   ---   jdbc的连接。因为java编译后.class变成只读,而放在.properties仍然可以修改,增强维护性

mybatis和spring是package

log4j.properties

#ERROR  WARN  INFO DEBUG
log4j.rootLogger=DEBUG,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.ConversionPattern=%5p [%t] -%m%n

db.properties (记得改所用数据库名cc_student处)

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/cc_student?characterEncoding=utf-8
jdbc.username=root
jdbc.password=3306

jdbc.maxActive=100
jdbc.maxIdle=100
jdbc.maxWait=10000
jdbc.removeAbandoned=true
jdbc.removeAbandonedTimeout=60
jdbc.logAbandoned=true
jdbc.validationQuery=select 1 from dual
jdbc.testOnBorrow=true

SqlMapConfig.xml (记得改包名demo处)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<typeAliases >
		<package name="com.demo.model"/>
	</typeAliases>
</configuration>

application_db.xml(Ctrl+F修改com.tyxc到自己的包)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="    
          http://www.springframework.org/schema/beans    
          http://www.springframework.org/schema/beans/spring-beans-4.0.xsd    
          http://www.springframework.org/schema/context    
          http://www.springframework.org/schema/context/spring-context-3.2.xsd
          http://www.springframework.org/schema/aop    
          http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
          http://www.springframework.org/schema/mvc    
          http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
          http://www.springframework.org/schema/tx   
          http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
          ">
          <context:component-scan base-package="com.tyxc"></context:component-scan>
	<!-- 配置数据源 -->
	<context:property-placeholder location="classpath:db.properties" />
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName" value="${jdbc.driverClassName}"></property>
		<property name="url" value="${jdbc.url}"></property>
		<property name="username" value="${jdbc.username}"></property>
		<property name="password" value="${jdbc.password}"></property>
		<property name="maxActive" value="${jdbc.maxActive}" />
        <property name="maxIdle" value="${jdbc.maxIdle}" />
        <property name="maxWait" value="${jdbc.maxWait}" />
        <property name="removeAbandoned" value="${jdbc.removeAbandoned}" />
        <property name="removeAbandonedTimeout" value="${jdbc.removeAbandonedTimeout}" />
        <property name="logAbandoned" value="${jdbc.logAbandoned}" />
        <property name="validationQuery" value="${jdbc.validationQuery}" />
        <property name="testOnBorrow" value="${jdbc.testOnBorrow}" />
		
	</bean>
	
	
	
	<!-- SqlSessionFactory -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml"></property>
		<property name="dataSource" ref="dataSource"></property>
	</bean>
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.tyxc.mapper"></property>
		<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
	</bean>
	
	<bean id="txManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource"></property>
	</bean>
	<tx:advice id="txAdvice" transaction-manager="txManager">
		<tx:attributes>
			<tx:method name="find*" propagation="NOT_SUPPORTED"
				read-only="true" />
			<tx:method name="select*" propagation="NOT_SUPPORTED"
				read-only="true" />
			<tx:method name="*" propagation="REQUIRED" />
		</tx:attributes>
	</tx:advice>
	<aop:config>
		<aop:pointcut expression="execution(* com.tyxc.mapper.*.*(..))"
			id="transactionPointcut" />
		<aop:advisor advice-ref="txAdvice" pointcut-ref="transactionPointcut" />
	</aop:config>
</beans>

springmvc.xml(同上Ctrl+F修改com.tyxc到自己的包)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="    
          http://www.springframework.org/schema/beans    
          http://www.springframework.org/schema/beans/spring-beans-4.3.xsd    
          http://www.springframework.org/schema/context    
          http://www.springframework.org/schema/context/spring-context-4.3.xsd
          http://www.springframework.org/schema/aop    
          http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
          http://www.springframework.org/schema/mvc    
          http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
          ">
	<mvc:annotation-driven></mvc:annotation-driven>
	<!-- 配置service扫描 -->
	<context:component-scan base-package="com.tyxc"></context:component-scan>	
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<!-- 配置逻辑视图的前缀 -->
		<property name="prefix" value="/WEB-INF/pages/"></property>
		<!-- 配置逻辑视图的后缀 -->
		<property name="suffix" value=".jsp"></property>
		<property name="cache" value="false"></property>
	</bean>
	<bean id="multipartResolver"
		class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<property name="maxUploadSize" value="125242880"></property>
	</bean>
</beans>

域名命名方式:(倒过来)

例如:www.baidu.com

需要写成:com.baidu.xxxx

原因:需要部署到以太网上被访问,为防止域名的冲突

3.src结构创建

model实体

util自定义的一些工具

4.加载项目的lib

两种方式,

一种用maven(之前文章里有),但是在一些加密环境无法使用,

所以第二种方式是用传统的方式,直接复制过来手动build

下载地址:lib.zip免费下载-其它文档类资源-CSDN下载

 此处粘贴进来,然后右键build path->configure build path->add jars->选中刚刚的所有包(选中第一个,往下拉到最后一个,按住shift,点最后一个)-》ok->apply-》ok

5.web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	id="WebApp_ID" version="3.1">
	<display-name>cc_javaMax_demo</display-name>
	<!--配置SpringMVC前端控制器 -->
	<servlet>
		<servlet-name>mvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!-- SpringMVC的配置文件的默认路径是/WEB-INF/${servlet-name}-servlet.xml -->
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<!-- <param-value>classpath:springmvc.xml</param-value> -->
			<param-value>classpath:spring/springmvc.xml</param-value>
		</init-param>
		<load-on-startup>2</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>mvc</servlet-name>
		<!--设置所有以action结冕的清求进入SpringMVC -->
		<url-pattern>*.action</url-pattern>
	</servlet-mapping>
	<context-param>
		<!-- 读取故据库配置文件 -->
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:spring/application_*.xml</param-value>
	</context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<welcome-file-list>
		<welcome-file>index.action</welcome-file>
	</welcome-file-list>
</web-app>

直接复制粘贴过去就行

截止到此处都是运行环境的搭建,实在不行可以找项目经理,千万别没搭建好就开始开发。

遇到javax.naming.NameNotFoundException错误可以在web.xml文件中加上:

<!-- 网上查找的针对javax.naming.NameNotFoundException -->
		<context-param>
		<param-name>spring.profiles.active</param-name>
		<param-value>dev</param-value>
	</context-param>
	<context-param>
		<param-name>spring.profiles.default</param-name>
		<param-value>dev</param-value>
	</context-param>
	<context-param>
		<param-name>spring.liveBeansView.mbeanDomain</param-name>
		<param-value>dev</param-value>
	</context-param>

6.运行检验

右键Tomcat-》add and remove -》选中我们的项目-》add -》finish

 选择debug模式而不是运行模式

运行成功:

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值