搭建jersey+mybits+spring框架
来源:互联网 发布:燃气管道设计软件 编辑:程序博客网 时间:2024/06/07 10:32
1.首先将需要的依赖加入到本地资源库
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <!-- 声明项目描述符遵循pom版本--> <modelVersion>4.0.0</modelVersion> <!-- 项目的全球唯一标识符 --> <groupId>com.sc</groupId> <!-- 项目的通用名称 --> <artifactId>cj_smj</artifactId> <!--打包机制,打包成什么样的类型 --> <packaging>war</packaging> <!-- 被继承的父项目的版本 --> <version>0.0.1-SNAPSHOT</version> <!-- 项目的名称--> <name>cj_smj Maven Webapp</name> <!-- 项目主页的url,maven产生的文档使用 --> <url>http://maven.apache.org</url> <!-- 自定义标签管理,为pom定义常量,方便在pom中使用--> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <spring-version>4.1.6.RELEASE</spring-version> <junit-version>3.8.1</junit-version> <tomcat7-maven-plugin-version>2.1</tomcat7-maven-plugin-version> <jersey-version>2.17</jersey-version> </properties> <!-- 依赖,管理jar包 自动引入声明在dependencies里的所有依赖,并默认被所有的子项目继承。如果项目中不写依赖项,则会从父项目继承(属性全部继承)声明在父项目dependencies里的依赖项。--><!-- 引入项目所需要的额外依赖 --> <dependencies> <!-- 表示具体的依赖项--> <dependency> <!--唯一标识符--> <groupId>junit</groupId> <!-- 构件标识符 --> <artifactId>junit</artifactId> <!-- 版本号 --> <version>${junit-version}</version> <!-- 该依赖所适用的范围 test只会在测试时使用,不会随项目发布--> <scope>test</scope> </dependency> <!-- poi导出 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.16</version> </dependency> <!--Jersey dependencies --><dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet</artifactId> <version>${jersey-version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-client</artifactId> <version>${jersey-version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-json-jackson</artifactId> <version>${jersey-version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-moxy</artifactId> <version>${jersey-version}</version> </dependency> <!-- jsp的依赖 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.glassfish.jersey.ext</groupId> <artifactId>jersey-mvc-jsp</artifactId> <version> 2.17 </version> </dependency> <!-- Spring dependencies --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.ext</groupId> <artifactId>jersey-spring3</artifactId> <version>${jersey-version}</version> <!-- 去除自带的spring版本 --> <!-- <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </exclusion> <exclusion> <artifactId>spring-web</artifactId> <groupId>org.springframework</groupId> </exclusion> </exclusions> --> </dependency> <!-- Servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> <type>jar</type> <scope>provided</scope> </dependency> <!-- log4j --> <!-- https://mvnrepository.com/artifact/log4j/log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <!-- Mybatis 数据连接池 start--> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.7</version> </dependency> <!-- mybatis end --> <!-- 数据库相关的依赖 --> <!-- 添加oracle jdbc driver --> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.1.0</version> </dependency> <!-- 数据库连接池 ,来优化数据库的操作 <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version> </dependency> --> </dependencies> <build> <finalName>cj_smj</finalName> <!-- 管理plugin--> <pluginManagement> <plugins> <!-- 配置tomcat7插件 --> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version> <!-- 指定插件的配置 --> <configuration> <uriEncoding>UTF-8</uriEncoding> <port>8080</port> <path>/</path> </configuration> </plugin> <!--配置maven插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.8.1</version> </plugin> </plugins> </pluginManagement> </build></project>
2.配置applicationContent.xml也就是配置spring.xml
<?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:context="http://www.springframework.org/schema/context" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:util="http://www.springframework.org/schema/util" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.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/util http://www.springframework.org/schema/util/spring-util-3.2.xsd"><!-- 配置数据源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl"/> <property name="username" value="system"/> <property name="password" value="admin"/> <!--连接池启动时的初始值 --> <property name="initialSize" value="10"/> <!--连接池的最大值 --> <property name="maxActive" value="100"/> <!--最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部 分,一直减少到maxIdle为止 --> <property name="maxIdle" value="50"/> <!--最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时 来不及申请 --> <property name="minIdle" value="10"/> <!--给出一条简单的sql语句进行验证 --> <property name="validationQuery" value="select 1 from dual"/> <!--在取出连接时进行有效验证 --> <property name="testOnBorrow" value="true"/> <property name="removeAbandonedTimeout" value="120"/> <property name="removeAbandoned" value="true"/> <!--#运行判断连接超时任务的时间间隔,单位为毫秒,默认为-1,即不执行任务.--> <property name="timeBetweenEvictionRunsMillis" value="3600000"/> <!--#连接的超时时间,默认为半小时。--> <property name="minEvictableIdleTimeMillis" value="3600000"/> </bean> <!-- 配置mybatisSqlSessionFactoryBean --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 数据连接池 --> <property name="dataSource" ref="dataSource" /> <!--加载mybits全局配置文件 configlocation指定mybits的xml配置文件的路径--> <property name="configLocation" value="classpath:mybatis-config.xml"></property> </bean> <!-- DAO接口所在包名,Spring会自动查找其下的类,注入到Spring容器中 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.cj.dao"></property> <!-- 用sqlSessionFactoryBeanName的原因是为了防止sqlSessionFactory提前被初始化 --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean> <!--扫描service --> <context:component-scan base-package="com.cj.service"> </context:component-scan> <!-- 扫描controller --> <context:component-scan base-package="com.cj"> <context:exclude-filter type="regex" expression="com.cj.resource" /> </context:component-scan> </beans>
3.写一个jersey的资源注册类,里面就是转换数据和将你的资源暴露
package com.cj;import javax.ws.rs.ApplicationPath;import org.glassfish.jersey.server.ResourceConfig;import org.glassfish.jersey.server.mvc.jsp.JspMvcFeature;import org.glassfish.jersey.moxy.json.MoxyJsonFeature;import com.cj.resource.UserController;import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;public class RestApplication extends ResourceConfig{ public RestApplication(){ //加载resource register(UserController.class); //注册 JSON 转换器 register(MoxyJsonFeature.class); register(JacksonJsonProvider.class); register(JspMvcFeature.class);//注册MVC支持 //jsp文件所在位置,当前JSP文件是在项目根目录下 property(JspMvcFeature.TEMPLATE_BASE_PATH,"/"); } }
4.最后配置web.xml
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app> <!-- 定义站台的名称 --> <display-name>Archetype Created Web Application</display-name> <!-- 设置上下文参数 声明应用范围内的初始化参数--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!-- 定义spring监听器,加载spring --> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <!-- 加载jersey资源 --> <servlet> <servlet-name>Jersey Web Application</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> <init-param> <param-name>javax.ws.rs.Application</param-name> <param-value>com.cj.RestApplication</param-value> </init-param> <load-on-startup>1</load-on-startup> <async-supported>true</async-supported> </servlet> <!-- 映射器 --> <servlet-mapping> <servlet-name>Jersey Web Application</servlet-name> <url-pattern>/cj/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list></web-app>
5.最后测试:
//根资源,相当于mvc里面的maaping@Path("/")public class UserController { @Autowired BaseService BaseService //表示被标记的方法是什么样的请求 @GET //相当于一个子资源,用来找具体的方法。 @Path("/index") public String index(){ return "123123"; } }
输入路径http://localhost:8080/cj/index
如果页面上出现123123,搭建成功!
1 0
- 搭建jersey+mybits+spring框架
- mybits框架项目搭建
- jersey框架 搭建
- Jersey框架搭建Rest服务
- spring boot 添加jersey框架
- Jersey框架入门学习:Jersey图片服务器搭建总结
- JGS SPRING+mybits 出错
- jersey+spring+maven 搭建实例helloworld
- Java Restful 不使用Spring,搭建jersey
- jersey + spring + mybatis + redis项目搭建
- Jersey框架
- spring和mybits的整合
- Jersey Spring
- ubuntu 下面通过maven搭建restful风格的jersey框架
- 利用Jersey和Google ProtoBuf 集成Spring搭建REST服务
- Jersey+Spring+Hibernate搭建的一个简单Web Service
- 搭建基于Spring+MyBatis+Jersey的Maven-Web系统
- Gradle + Spring Boot + Jersey搭建REST开发环境
- 关于假如有Thread1、Thread2、Thread3、Thread4四条线程分别统计C、D、E、F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现?
- 手机输入法emoji、颜文字存储
- 迷宫及其最短路
- 八大排序算法
- Maven 笔记-常用配置
- 搭建jersey+mybits+spring框架
- 点击空白隐藏软键盘(activity)
- 第一篇~~
- hadoop数据倾斜总结
- 1021. Deepest Root (25)
- 隐藏键盘windowSoftInputMode
- Mybatis常见面试题
- iOS GPUImage 的使用
- 个人感觉好用的sharedpreference工具类写法