最近微服务框架很火,于是自学了springboot,还包括springcloud(后期会整理出来)
首先到官网下载maven压缩包,地址:http://maven.apache.org/download.cgi
配置maven环境变量,新建一个maven_home,把你下载的maven地址粘贴到变量值
在cmd里面输入 mvn -version 查看是否配置成功,然后在eclipse里面配置maven
1.打开Eclipse,依次打开Windows-->Prefrences,点击Maven的右边的三角符号,以展开Maven的配置界面
2.之后,点击Maven下面的Installations,出现如下界面,请点击Add,即以下红色圈出部分
3.之后,出现如下界面,请选择你的Maven的安装目录,这里我的Maven的安装目录为D:\Java\apache-maven-3.1.1 ,选择你的Maven安装目录,并点击确定, 之后可以点击Apply,点击OK,即可完成
4.注意,JDK用1.7以上的。
配置完成之后,开始创建maven工程
先说一下这个groupid 和artifactid ,第一个是你的公司域名,第二个是你的项目名, 如果要集成jsp这里packaging要选jar,一般选war,
其次,pom.xml是添加依赖,
添加这些依赖后,会自动下载所需要的jar包,这里重点说一下,比如jsp需要添加
<!-- jsp -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<!--jsp -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
记住maven是不支持oracle驱动的,所以你必须手动添加到仓库里面去,先下载一个oracle驱动包,oracle11g的下载时候选第2个,下载完后,在cmd里面输入
mvn install:install-file -DgroupId=com.kingbasejdbc4 -DartifactId=kingbasejdbc4 -Dversion=10.2.0.1.0 -Dpackaging=jar -Dfile=E:\kingbasejdbc4.jar
这里的和pom.xml里的DgroupId DartifactId Dversion要是一样的, 最后的Dfile是里的包路径,执行完后在pom.xml加入
所有的依赖可以到maven仓库去找,这里就不提供包了,
重点说一下多数据源事物回滚,
首先要有一个application.properties配置文件,
spring.datasource.dh01.url =
spring.datasource.dh01.username =
spring.datasource.dh01.password =
spring.datasource.dh01.driver-class-name =
spring.datasource.dh02.url =
spring.datasource.dh02.username =
spring.datasource.dh02.password =
spring.datasource.dh02.driver-class-name =
记住默认会读spring.datasource前缀,可以看一下我自己写的
首先说一下这个分层app是启动类,这个不多说了,controller是控制层,mapper是dao层,service是业务层,DataSource里的代码如下:
package com.zft.datasource;
import javax.sql.DataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
@Configuration //注入到spring容器中
@MapperScan(basePackages="com.zft.dh02",sqlSessionFactoryRef="dh02SqlSessionFactory")
public class Datasource02 {
/**
* 配置数据库
* bean 放入Spring容器中
* @return
*/
@Bean(name = "dh02DataSource")
@ConfigurationProperties(prefix="spring.datasource.dh02")
public DataSource testDataSource02(){
return DataSourceBuilder.create().build();
}
/**
* sql会话工厂
* @param dataSource
* @return
* @throws Exception
*/
@Bean(name = "dh02SqlSessionFactory")
public SqlSessionFactory sqlSessionFactory(@Qualifier("dh02DataSource") DataSource dataSource) throws Exception{
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
//bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:路径/*.xml"));
return bean.getObject();
}
/**
* 事物管理
* @param dataSource
* @return
*/
@Bean(name = "dh02TransactionManager")
public DataSourceTransactionManager dh02TransactionManager(@Qualifier("dh02DataSource") DataSource dataSource){
return new DataSourceTransactionManager(dataSource);
}
@Bean(name = "dh02SqlSessionTemplate")
public SqlSessionTemplate sqlSessionTemplate(@Qualifier("dh02SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception{
return new SqlSessionTemplate(sqlSessionFactory);
}
}
那么在service中我们要加一个注解 @Transactional(value="dh02TransactionManager"),value的值是上面的方法名要相同,
其次要在项目入口处加一个@EnableTransactionManagement,这样就可以了。
以上全是手敲键出来的,,觉得有帮助的 点个赞吧。