开发框架整合与搭建:spring boot+mybatis+jedis
2018-03-10 22:34
811 查看
项目使用maven进行开发
1.pom.xml文件添加依赖
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version&g
4000
t;1.2.5.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</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.8</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.43</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-milestone</id>
<url>https://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-milestone</id>
<url>https://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>
2.在src/main/resource目录下新建配置文件application.properties(配置信息)
spring.datasource.url=jdbc:mysql://localhost:3306/eshop
spring.datasource.username=root
spring.datasource.password=88888
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
3.在src/main/resource目录下新建文件夹templates(springboot没有这文件夹会报错的)和mybatis文件夹(项目如果使用mybatis的话,用来放置xml文件)
4.写一个springboot入口类,如下:
package com.kang.eshop.product.ha;
import java.util.HashSet;
import java.util.Set;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.tomcat.jdbc.pool.DataSource;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.embedded.ServletListenerRegistrationBean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;
import com.kang.eshop.product.ha.listener.InitListener;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
/**
* 库存服务Application入口类
* @author kangkang
*
*/
@EnableAutoConfiguration
@SpringBootApplication
@ComponentScan
@MapperScan("com.kang.eshop.product.ha.mapper")
public class Application {
/**
* 构建数据源
* @return DataSource
*/
@Bean
@ConfigurationProperties(prefix="spring.datasource")
public DataSource dataSource(){
return new DataSource();
}
/**
* 构建mybatis入口类
* @return SqlSessionFactory
* @throws Exception
*/
@Bean
public SqlSessionFactory sqlSessionFactoryBean() throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource());
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mybatis/*.xml"));
return sqlSessionFactoryBean.getObject();
}
/**
* 构建事务管理器
* @return PlatformTransactionManager
*/
public PlatformTransactionManager transactionManager(){
return new DataSourceTransactionManager(dataSource());
}
/**
* redis cluster管理器
* @return JedisCluster
*/
// @Bean
// public JedisCluster JedisClusterFactory() {
// Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();
// jedisClusterNodes.add(new HostAndPort("139.199.10.125", 6379));
// jedisClusterNodes.add(new HostAndPort("139.199.10.125", 7001));
// jedisClusterNodes.add(new HostAndPort("139.199.10.125", 7002));
// JedisCluster jedisCluster = new JedisCluster(jedisClusterNodes);
// return jedisCluster;
// }
/**
* 注册监听器
* rawtypes大概是说传参时,不该传递基本的类型,导致参数过长,应该传递一个对象把这些参数包装起来
* @return
*/
@SuppressWarnings({"rawtypes","unchecked"})
@Bean
public ServletListenerRegistrationBean servletListenerRegistrationBean(){
ServletListenerRegistrationBean servletListenerRegistrationBean=
new ServletListenerRegistrationBean();
servletListenerRegistrationBean.setListener(new InitListener());
return servletListenerRegistrationBean;
}
/**
* Spring Boot Application 启动入口方法
*
*/
public static void main( String[] args ){
SpringApplication.run(Application.class, args);
}
}
5.新建各种包,注意,Application类放在最外层
6.测试springboot是否搭建成功
package com.kang.eshop.product.ha.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* 测试Controller控制器
* @author Administrator
*
*/
@Controller
public class HelloController {
@RequestMapping("/hello")
@ResponseBody
public String getUserInfo(String name) {
return "hello! "+name;
}
}
浏览器访问:http://localhost:8080/hello?name=tom
如果后台接受成功,则搭建成功!
1.pom.xml文件添加依赖
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version&g
4000
t;1.2.5.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</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.8</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.43</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-milestone</id>
<url>https://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-milestone</id>
<url>https://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>
2.在src/main/resource目录下新建配置文件application.properties(配置信息)
spring.datasource.url=jdbc:mysql://localhost:3306/eshop
spring.datasource.username=root
spring.datasource.password=88888
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
3.在src/main/resource目录下新建文件夹templates(springboot没有这文件夹会报错的)和mybatis文件夹(项目如果使用mybatis的话,用来放置xml文件)
4.写一个springboot入口类,如下:
package com.kang.eshop.product.ha;
import java.util.HashSet;
import java.util.Set;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.tomcat.jdbc.pool.DataSource;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.embedded.ServletListenerRegistrationBean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;
import com.kang.eshop.product.ha.listener.InitListener;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
/**
* 库存服务Application入口类
* @author kangkang
*
*/
@EnableAutoConfiguration
@SpringBootApplication
@ComponentScan
@MapperScan("com.kang.eshop.product.ha.mapper")
public class Application {
/**
* 构建数据源
* @return DataSource
*/
@Bean
@ConfigurationProperties(prefix="spring.datasource")
public DataSource dataSource(){
return new DataSource();
}
/**
* 构建mybatis入口类
* @return SqlSessionFactory
* @throws Exception
*/
@Bean
public SqlSessionFactory sqlSessionFactoryBean() throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource());
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mybatis/*.xml"));
return sqlSessionFactoryBean.getObject();
}
/**
* 构建事务管理器
* @return PlatformTransactionManager
*/
public PlatformTransactionManager transactionManager(){
return new DataSourceTransactionManager(dataSource());
}
/**
* redis cluster管理器
* @return JedisCluster
*/
// @Bean
// public JedisCluster JedisClusterFactory() {
// Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();
// jedisClusterNodes.add(new HostAndPort("139.199.10.125", 6379));
// jedisClusterNodes.add(new HostAndPort("139.199.10.125", 7001));
// jedisClusterNodes.add(new HostAndPort("139.199.10.125", 7002));
// JedisCluster jedisCluster = new JedisCluster(jedisClusterNodes);
// return jedisCluster;
// }
/**
* 注册监听器
* rawtypes大概是说传参时,不该传递基本的类型,导致参数过长,应该传递一个对象把这些参数包装起来
* @return
*/
@SuppressWarnings({"rawtypes","unchecked"})
@Bean
public ServletListenerRegistrationBean servletListenerRegistrationBean(){
ServletListenerRegistrationBean servletListenerRegistrationBean=
new ServletListenerRegistrationBean();
servletListenerRegistrationBean.setListener(new InitListener());
return servletListenerRegistrationBean;
}
/**
* Spring Boot Application 启动入口方法
*
*/
public static void main( String[] args ){
SpringApplication.run(Application.class, args);
}
}
5.新建各种包,注意,Application类放在最外层
6.测试springboot是否搭建成功
package com.kang.eshop.product.ha.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* 测试Controller控制器
* @author Administrator
*
*/
@Controller
public class HelloController {
@RequestMapping("/hello")
@ResponseBody
public String getUserInfo(String name) {
return "hello! "+name;
}
}
浏览器访问:http://localhost:8080/hello?name=tom
如果后台接受成功,则搭建成功!
相关文章推荐
- springMVC学习笔记---day02 springMVC+spring+mybatis整合开发框架搭建
- Spring+SpringMvc+Mybatis框架集成搭建教程三(框架整合测试程序开发)
- 基于maven搭建ssm开发框架(1) mybatis和spring的整合
- 使用myeclipse搭建SpringBoot框架,整合thymeleaf模板和mybatis
- Spring Boot、Mybatis框架整合开发Java RESTful Web Service
- 【web开发】Eclipse中SpringMVC+Mybatis+Maven搭建的项目框架(SMM框架)
- SSM系列1:简易详细的(Spring +Springmvc+Mybatis)框架整合搭建
- OSGI企业应用开发(八)整合Spring和Mybatis框架(一)
- springboot搭建web(整合mybatis)(四)
- SpringBoot + MyBatis + MySQL + Maven在Intellij IDEA下开发环境的搭建
- 详解MyEclipse中搭建spring-boot+mybatis+freemarker框架
- JavaEE开发之SpringBoot整合MyBatis以及Thymeleaf模板引擎
- springboot 整合mybatis 基于注解开发 传入对象
- springMVC+spring+mybatis 开发http接口服务端(1. ssm框架搭建)
- [置顶] OSGI企业应用开发(八)整合Spring和Mybatis框架(一)
- OSGI企业应用开发(十)整合Spring和Mybatis框架(三)
- SpringBoot整合MyBatis开发
- Myeclipse 开发SpringBoot 整合maven+mybatis+freemarker+oracle
- IDEA上搭建maven项目整合springboot+mybatis+shiro