现在的位置: 首页 > 综合 > 正文

Java三大框架环境搭建详解

2017年10月14日 ⁄ 综合 ⁄ 共 8068字 ⁄ 字号 评论关闭

1、数据库配置

通过命令行操作mysql数据库,具体如下所示:

(1)利用mysql -u用户名 -p密码连接数据库如下:

(2)创建数据库并显示数据库。如下:

(3)创建数据库并指定编码,如下:

(4)显示创建的数据库指令,如下:

(5)查看数据库的状态,如下

至此,数据库配置完成。

2、Struts2环境配置

(1)现在官网http://struts.apache.org/download.cgi#struts221下载struts2 Jar包。(struts-2.3.16.3-all)。

(2)解压该文件要么直接把Jar包解压后的lib文件复制到WebRoot\WEB-INF\lib目录下。要么利用解压包中的app文件夹中的struts2-blank.war包中的。

具体如下:



该目录下的jar包拷贝到web工程中即可。如下:


把如下文件拷贝到web工程的src中。

struts的配置如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

	<constant name="struts.custom.i18n.resources" value="messageResource" />
	<constant name="struts.i18n.encoding" value="GBK" />
	<!-- 配置为开发模式 -->
	<constant name="struts.devMode" value="true" />
	<!-- 配置扩展名为action -->
	<constant name="struts.action.extension" value="action" />

	<package name="default" namespace="/" extends="struts-default">


		<!-- 需要自己写的内容 -->

	</package>



	<!-- Add packages here -->

</struts>

拷贝该文件到web工程中。并做相应配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  
  
     <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
  
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

3、hibernate配置

(1)官网下载jar包。http://hibernate.org/

(2)把该压缩包下的lib目录加载到WEB-INF目录下。如下所示:

(3)把如下配置文件拷贝到web工程src目录下

hibernate.cfg.xml配置文件如下:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
	<session-factory>
		<property name="hbm2ddl.auto">update</property>
		<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect
		</property>
		<property name="connection.url">jdbc:mysql://localhost:3306/mtest
		</property>
		<property name="connection.username">root</property>
		<property name="connection.password">admin</property>
		<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
	</session-factory>
</hibernate-configuration> 

该文件为Hibernate默认的配置文件,当程序调用Configuration对象的configure()方法时,Hibernate将自动加载该文件。Hibernate配置文件的第一行是XML文件声明,指定该文件的版本和编码所用的字符集。Hibernate-configuration是其根元素,根元素里有session-factory子元素,该元素依次有很多property元素,这些property元素配置Hibernate连接数据库的必要信息。 

除此之外,Hibernate并不推荐采用DriverManager来连接数据库,而是推荐使用数据源来管理数据库连接,这样能保证最好的性能。Hibernate推荐使用C3P0数据源,所以我们在上面配置文件的基础上添加配置数据源连接的信息,包括最大连接数、最小连接数等信息。完整的Hibernate配置文件如下: 

<pre name="code" class="html"><pre name="code" class="html"><?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->

<hibernate-configuration><session-factory><property name="hbm2ddl.auto">update</property><property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property><property name="connection.url">jdbc:mysql://localhost:3306/mTest</property><property
name="connection.username">root</property><property name="connection.password">admin</property><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="hibernate.c3p0.max_size">20</property><property name="hibernate.c3p0.min_size">1</property><property
name="hibernate.c3p0.timeout">5000</property><property name="hibernate.c3p0.max_statements">100</property><property name="hibernate.c3p0.idle_test_period">3000</property><property name="hibernate.c3p0.acquire_increment">2</property><property name="hibernate.c3p0.validate">true</property></session-factory></hibernate-configuration>



4、Spring 配置

(1)加载jar包

(2)写配置文件如下demo

<?xml version="1.0" encoding="GBK"?>
<!-- Spring配置文件的根元素,并指定Schema信息 -->
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.1.xsd


http://www.springframework.org/schema/aop


http://www.springframework.org/schema/aop/spring-aop-3.1.xsd


http://www.springframework.org/schema/tx

	http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
	
	

	<!-- 定义数据源Bean,使用C3P0数据源实现 -->
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
		p:driverClass="com.mysql.jdbc.Driver"
		p:jdbcUrl="jdbc:mysql://localhost:3306/auction"
		p:user="root"
		p:password="32147"
		p:maxPoolSize="200"
		p:minPoolSize="2"
		p:initialPoolSize="2"
		p:maxIdleTime="2000"
		destroy-method="close"/>

	<!-- 定义Hibernate的SessionFactory 
		并为它注入数据源,注入Hibernate配置文件等。-->
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"
		p:dataSource-ref="dataSource">
		<property name="annotatedClasses">
			<list>
				<value>org.crazyit.auction.domain.AuctionUser</value>
				<value>org.crazyit.auction.domain.Bid</value>
				<value>org.crazyit.auction.domain.Item</value>
				<value>org.crazyit.auction.domain.Kind</value>
				<value>org.crazyit.auction.domain.State</value>
			</list>
		</property>
		<!-- 定义Hibernate的SessionFactory的属性 -->
		<property name="hibernateProperties">
			<props>
				<!-- 指定数据库方言 -->
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQL5InnoDBDialect</prop>
				<!-- 显示Hibernate持久化操作所生成的SQL -->
				<prop key="hibernate.show_sql">true</prop>
				<!-- 将SQL脚本进行格式化后再输出 -->
				<prop key="hibernate.format_sql">true</prop>
			</props>
		</property>
	</bean>


	<!-- 配置Hibernate的局部事务管理器,使用HibernateTransactionManager类 -->
	<!-- 该类实现PlatformTransactionManager接口,是针对Hibernate的特定实现-->
	<!-- 配置HibernateTransactionManager时需要依注入SessionFactory的引用 -->
	<bean id="transactionManager" class=
		"org.springframework.orm.hibernate4.HibernateTransactionManager"
		p:sessionFactory-ref="sessionFactory"/>

	<!-- 配置事务切面Bean,指定事务管理器 -->
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<!-- 用于配置详细的事务语义 -->
		<tx:attributes>
			<!-- 所有以'get'开头的方法是read-only的 -->
			<tx:method name="get*" read-only="true"/>
			<!-- 其他方法使用默认的事务设置 -->
			<tx:method name="*"/>
		</tx:attributes>
	</tx:advice>
	<aop:config>
		<!-- 配置一个切入点,匹配指定包下所有以Impl结尾的类执行的所有方法 -->
		<aop:pointcut id="leeService"
			expression="execution(* org.crazyit.auction.service.impl.*Impl.*(..))"/>
		<!-- 指定在leeService切入点应用txAdvice事务切面 -->
		<aop:advisor advice-ref="txAdvice" 
			pointcut-ref="leeService"/>
	</aop:config>

	<!-- 定义JavaMailSenderImpl,它用于发送邮件 -->
	<bean id="mailSender"
		class="org.springframework.mail.javamail.JavaMailSenderImpl">
		<!-- 指定发送邮件的SMTP服务器地址 -->
		<property name="host" value="smtp.163.com"/>
		<property name="javaMailProperties">
			<props>
				<prop key="mail.smtp.auth">true</prop>
				<prop key="mail.smtp.timeout">25000</prop>
			</props>
		</property>
		<!-- 指定登录邮箱的用户名、密码 -->
		<property name="username" value="spring_test"/>
		<property name="password" value="123abc"/>
	</bean>
	<!-- 定义SimpleMailMessage Bean,它代表了一份邮件 -->
	<bean id="mailMessage"
		class="org.springframework.mail.SimpleMailMessage">
		<!-- 指定发件人地址 -->
		<property name="from" value="spring_test@163.com"/>
		<!-- 指定邮件标题 -->
		<property name="subject" value="竞价通知"/>
	</bean>

	<!-- 配置业务逻辑组件 -->
	<!-- 为业务逻辑组件注入所需的DAO组件 -->
	<bean id="mgr"
		class="org.crazyit.auction.service.impl.AuctionManagerImpl"
		p:userDao-ref="auctionUserDao"
		p:bidDao-ref="bidDao"
		p:itemDao-ref="itemDao"
		p:kindDao-ref="kindDao"
		p:stateDao-ref="stateDao"
		p:mailSender-ref="mailSender"
		p:message-ref="mailMessage"/>

	<!-- 配置一个TimerTask Bean -->
	<bean id="checkWiner" class="org.crazyit.auction.schedule.CheckWiner">
		<!-- 依赖注入业务逻辑组件 -->
		<property name="mgr" ref="mgr"/>
	</bean>
	<!-- 将TimerTask Bean:checkWiner包装成可周期性执行的任务调度Bean 
		并指定调度频率和延迟 -->
	<bean id="scheduledTask"
		class="org.springframework.scheduling.timer.ScheduledTimerTask"
		p:delay="0"
		p:period="86400000"
		p:timerTask-ref="checkWiner" />

	<!-- 启动实际调度 -->
	<bean id="timerFactory" 
		class="org.springframework.scheduling.timer.TimerFactoryBean">
		<!-- 下面列出所有需要调用的任务调度Bean -->
		<property name="scheduledTimerTasks">
			<list>
				<ref bean="scheduledTask"/>
			</list>
		</property>
	</bean>
</beans>

5、Javaweb单元测试

(1)加载jar包

配置完成。

抱歉!评论已关闭.