springboot微服务搭建回顾
最近因为工作需要研究了一下springboot,网上的例子也多的数不胜数。我在这只总结一下springboot学习的知识,也希望有哪位大神可以指点一二。
maven框架搭建就不说了,网上有很多例子,大家也可以看一下我的博客:http://www.cnblogs.com/dollstory/p/7608506.html。直接上代码:
1. 在pom.xml中配置相关jar包信息
<!-- 添加父依赖,添加该依赖后,parent会为所有与spring相关的jar包依赖配置默认版本信息 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.7.RELEASE</version>
<relativePath />
</parent>
<dependencies>
<!-- springboot -->
<!-- 启动核心依赖,配置后会为自动引入spring基本包 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- web核心依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 测试依赖,配置后可使用juint等相关测试工具 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<!-- 将工程打成可执行jar包 -->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2. 添加springboot启动类
注:该类必须放在代码根目录,若要换位则需加入@ComponentScan(basePackages="代码所在目录 ")

看到如下界面即表示配置成功

3. 将工程修改成在tomcat中运行
1) 将spring-boot-starter-web修改成以下形式

2) 修改Application启动类

3) 将工程添加到tomcat并启动,会看到控制台有如下输出

输入IP地址:tomcat端口号/工程名 显示如下页面,则说明配置成功

4. 添加swagger2
1)在pom.xml中添加以下依赖:

2)配置SwaggerConfig,其中basepackage是swagger显示的基本包,根据实际需求进行配置

启动工程并输入IP地址:tomcat端口号 /swagger-ui.html,可看到如下页面
若在tomcat下启动,请输入IP地址:tomcat端口号/工程名/ swagger-ui.html

5. 构建SSM架构
1) 在pom.xml中添加以下依赖

2) 在src/main/resources中添加application.properties
在application.properties中添加mybatis映射文件路径

在application.properties中添加mysql配置信息

新建controller层

新建service层(必须在实现层用@service注释)

新建mapper包,并添加TJtUserMapper.java(必须用@mapper进行注释)和TJtUserMapper.xml

启动工程并访问/swagger-ui.html可看到以下页面

6. Spring事务配置
1) 在启动类上添加@EnableTransactionManagement 开启事务支持,关于事务管理器,不管是JPA还是JDBC等都实现自接口 PlatformTransactionManager 如果你添加的是 spring-boot-starter-jdbc 依赖,框架会默认注入 DataSourceTransactionManager 实例。如果你添加的是 spring-boot-starter-data-jpa 依赖,框架会默认注入 JpaTransactionManager 实例。在Spring容器中,我们手工注解@Bean 将被优先加载,框架不会重新实例化其他的 PlatformTransactionManager 实现类

2) 在service层添加@Transaction,在Service中,被 @Transactional 注解的方法,将支持事务。如果注解在类上,则整个类的所有方法都默认支持事务。
3) 对于同一个工程中存在多个事务管理器要怎么处理


如果Spring容器中存在多个 PlatformTransactionManager 实例,并且没有实现接口 TransactionManagementConfigurer 指定默认值,在我们在方法上使用注解 @Transactional 的时候,就必须要用value指定,如果不指定,则会抛出异常。
对于系统需要提供默认事务管理的情况下,实现接口 TransactionManagementConfigurer 指定。
对有的系统,为了避免不必要的问题,在业务中必须要明确指定 @Transactional 的 value 值的情况下。不建议实现接口 TransactionManagementConfigurer,这样控制台会明确抛出异常,开发人员就不会忘记主动指定。

浙公网安备 33010602011771号