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,这样控制台会明确抛出异常,开发人员就不会忘记主动指定。

 

posted @ 2017-11-02 19:47  黑色de四叶草  阅读(131)  评论(0)    收藏  举报