您的位置:首页 > 编程语言 > Java开发

开发框架整合与搭建: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

如果后台接受成功,则搭建成功!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: