资讯专栏INFORMATION COLUMN

spring-boot整合Mybatis如何部署在weblogic上

brianway / 1110人阅读

摘要:介绍本文在参考了如何优雅的在上部署的基础下使用整合部署在服务器上。在中可以右击将项目打成包部署测试在上部署应用可以参考部署项目包。总结到这里我们已经成功将和整合并部署到上。

介绍

本文在参考了如何优雅的在weblogic上部署spring-boot的基础下使用springboot整合Mybatis部署在weblogic服务器上。

环境

开发工具:Eclipse
weblogic版本:10.3.6.0
weblogic-jdk:1.8.0_91

技术实现

创建Maven工程,在pom文件中加入


  4.0.0
  com.ws
  weblogic-test
  0.0.1-SNAPSHOT
  
  
    1.5.4.RELEASE
    UTF-8
  
  
        org.springframework.boot
        spring-boot-starter-parent
        1.5.4.RELEASE
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org.springframework.boot
            spring-boot-starter-jdbc            
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            1.1.1
            
           
            com.github.pagehelper  
            pagehelper  
            4.2.0  
         
         
         
            com.alibaba
            druid
            1.0.25
        
        
            javax.servlet
            servlet-api
            2.5
            test
        
        
            org.springframework
            spring-messaging
        
        
            javax.servlet
            javax.servlet-api          
            provided
        
        
            org.springframework.boot
            spring-boot-legacy
            1.0.2.RELEASE
         
         
            org.springframework.boot
            spring-boot-starter-tomcat
            provided
        
    
    
        
              
                org.apache.maven.plugins
                maven-war-plugin
                
                    true
                    
                        
                            ${project.version}
                        
                        
                            true
                            lib/
                        
                    
                    
                        
                            ${project.basedir}/src/main/resources/static
                        
                        
                            ${project.basedir}/src/main/webapp
                        
                    
                    ${project.artifactId}
                
            

            
                org.springframework.boot
                spring-boot-maven-plugin
                ${spring.boot.version}
                
                    BOOT
                
                
                    
                        
                            repackage
                        
                    
                
            
            
            
                maven-compiler-plugin
                
                    1.6
                    1.6
                
            
        
    

2.创建springboot入口类,配置类和测试类

@SpringBootApplication
@MapperScan("com.ws.mapper")
public class WeblogicTestApplication extends SpringBootServletInitializer implements WebApplicationInitializer{
    public static void main(String[] args) {
        SpringApplication.run(WeblogicTestApplication.class, args);
    }
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(WeblogicTestApplication.class);
    }

配置文件

server.port=8888
logging.level.=INFO
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
server.connection-timeout=5000

spring.resources.static-locations=classpath:static/,file:static/

#spring.devtools.restart.enabled: true

mybatis.configuration.mapUnderscoreToCamelCase=true
mybatis.type-aliases-package=com.df.bean

spring.dataSource.primaryDataSource.type=com.alibaba.druid.pool.DruidDataSource
spring.dataSource.primaryDataSource.url=jdbc:oracle:thin:@10.2.1.242:1521/eaidb
spring.dataSource.primaryDataSource.username=cheryeai_osbmngt
spring.dataSource.primaryDataSource.password=cheryDBeai123
spring.dataSource.primaryDataSource.driverClassName = oracle.jdbc.driver.OracleDriver
spring.dataSource.primaryDataSource.initialSize = 5
spring.dataSource.primaryDataSource.minIdle = 5
spring.dataSource.primaryDataSource.maxActive = 15
spring.dataSource.primaryDataSource.maxWait = 60000
spring.dataSource.primaryDataSource.timeBetweenEvictionRunsMillis = 60000
spring.dataSource.primaryDataSource.minEvictableIdleTimeMillis = 300000
spring.dataSource.primaryDataSource.validationQuery = SELECT 1 FROM DUAL
spring.dataSource.primaryDataSource.testWhileIdle = true
spring.dataSource.primaryDataSource.testOnBorrow = true
spring.dataSource.primaryDataSource.testOnReturn = true

配置数据源

@Component
@ConfigurationProperties(prefix = "spring.dataSource.primaryDataSource")
public class DuridBeans {
    private String type;

    private String url;

    private String username;

    private String password;

    private String driverClassName;

    private Integer initialSize;

    private Integer minIdle;

    private Integer maxActive;

    private Integer maxWait;

    private Integer timeBetweenEvictionRunsMillis;

    private Integer minEvictableIdleTimeMillis;

    private String validationQuery;

    private Boolean testWhileIdle;

    private Boolean testOnBorrow;

    private Boolean testOnReturn;

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getDriverClassName() {
        return driverClassName;
    }

    public void setDriverClassName(String driverClassName) {
        this.driverClassName = driverClassName;
    }

    public Integer getInitialSize() {
        return initialSize;
    }

    public void setInitialSize(Integer initialSize) {
        this.initialSize = initialSize;
    }

    public Integer getMinIdle() {
        return minIdle;
    }

    public void setMinIdle(Integer minIdle) {
        this.minIdle = minIdle;
    }

    public Integer getMaxActive() {
        return maxActive;
    }

    public void setMaxActive(Integer maxActive) {
        this.maxActive = maxActive;
    }

    public Integer getMaxWait() {
        return maxWait;
    }

    public void setMaxWait(Integer maxWait) {
        this.maxWait = maxWait;
    }

    public Integer getTimeBetweenEvictionRunsMillis() {
        return timeBetweenEvictionRunsMillis;
    }

    public void setTimeBetweenEvictionRunsMillis(Integer timeBetweenEvictionRunsMillis) {
        this.timeBetweenEvictionRunsMillis = timeBetweenEvictionRunsMillis;
    }

    public Integer getMinEvictableIdleTimeMillis() {
        return minEvictableIdleTimeMillis;
    }

    public void setMinEvictableIdleTimeMillis(Integer minEvictableIdleTimeMillis) {
        this.minEvictableIdleTimeMillis = minEvictableIdleTimeMillis;
    }

    public String getValidationQuery() {
        return validationQuery;
    }

    public void setValidationQuery(String validationQuery) {
        this.validationQuery = validationQuery;
    }

    public Boolean getTestWhileIdle() {
        return testWhileIdle;
    }

    public void setTestWhileIdle(Boolean testWhileIdle) {
        this.testWhileIdle = testWhileIdle;
    }

    public Boolean getTestOnBorrow() {
        return testOnBorrow;
    }

    public void setTestOnBorrow(Boolean testOnBorrow) {
        this.testOnBorrow = testOnBorrow;
    }

    public Boolean getTestOnReturn() {
        return testOnReturn;
    }

    public void setTestOnReturn(Boolean testOnReturn) {
        this.testOnReturn = testOnReturn;
    }

}
@Configuration
public class DuridSource {
     @Autowired
     private DuridBeans druidPrimaryDataSourceConfigProperties;
     @Bean(name="dataSource")
     @Primary
     public DataSource primaryDataSource (){
        DruidDataSource datasource = new DruidDataSource();

        datasource.setUrl(this.druidPrimaryDataSourceConfigProperties.getUrl());
        datasource.setUsername(this.druidPrimaryDataSourceConfigProperties.getUsername());
        datasource.setPassword(this.druidPrimaryDataSourceConfigProperties.getPassword());
        datasource.setDriverClassName(this.druidPrimaryDataSourceConfigProperties.getDriverClassName());


        datasource.setInitialSize(this.druidPrimaryDataSourceConfigProperties.getInitialSize());
        datasource.setMinIdle(this.druidPrimaryDataSourceConfigProperties.getMinIdle());
        datasource.setMaxActive(this.druidPrimaryDataSourceConfigProperties.getMaxActive());
        datasource.setMaxWait(this.druidPrimaryDataSourceConfigProperties.getMaxWait());
        datasource.setTimeBetweenEvictionRunsMillis(this.druidPrimaryDataSourceConfigProperties.getTimeBetweenEvictionRunsMillis());
        datasource.setMinEvictableIdleTimeMillis(this.druidPrimaryDataSourceConfigProperties.getMinEvictableIdleTimeMillis());
        datasource.setValidationQuery(this.druidPrimaryDataSourceConfigProperties.getValidationQuery());
        datasource.setTestWhileIdle(this.druidPrimaryDataSourceConfigProperties.getTestWhileIdle());
        datasource.setTestOnBorrow(this.druidPrimaryDataSourceConfigProperties.getTestOnBorrow());
        datasource.setTestOnReturn(this.druidPrimaryDataSourceConfigProperties.getTestOnReturn());

        return datasource;
    }

}
@Configuration
public class MybatisConfig {
    @Autowired 
    private DataSource dataSource;   //Durid数据源
    
    @Bean
    public SqlSessionFactoryBean createSqlSessionFactoryBean() throws Exception {
    SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); 
    sqlSessionFactoryBean.setDataSource(dataSource); 
    org.apache.ibatis.session.Configuration config=new org.apache.ibatis.session.Configuration();
    config.setMapUnderscoreToCamelCase(true);    //设置驼峰命名
    sqlSessionFactoryBean.setConfiguration(config);
    sqlSessionFactoryBean.setTypeAliasesPackage("com.ws.bean"); 
    Interceptor[] plugins =  new Interceptor[]{pageHelper()};
    sqlSessionFactoryBean.setPlugins(plugins);
    return sqlSessionFactoryBean; 
    }
    
    /**
     * Mybatis分页插件 
     */
    @Bean
    public PageHelper pageHelper() {
        PageHelper pageHelper = new PageHelper();
        Properties p = new Properties();
        p.setProperty("offsetAsPageNum", "true");
        p.setProperty("rowBoundsWithCount", "true");
        p.setProperty("reasonable", "true");
        pageHelper.setProperties(p);
        return pageHelper;
    }
public interface UserMapper {
    @Select({"SELECT * FROM USER_TEST"})
    List getUserInfo();
}
@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
    public List getUserInfoSer(){
        return userMapper.getUserInfo();        
    }
}
@RestController
public class UserController {
    @Autowired
    private UserService userService;
    @RequestMapping(value="/test" ,method= RequestMethod.GET)
    public String testGetUserInfo() {
        User user=userService.getUserInfoSer().get(0);
        return "我是"+user.getUserName()+"今年"+user.getUserAge()+"岁了!";
    }
}

说明:关于Durid数据源的配置这里就不详细说明了,springboot默认使用tomcat的数据源,在使用tomcat数据源部署的时候报错(NO supported Datasource type found),然后就给换成durid数据源。

3.创建web.xml和weblogic.xml



    
        contextConfigLocation
        com.ws.WeblogicTestApplication
    
    
        org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener
    
    
        appServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextAttribute
            org.springframework.web.context.WebApplicationContext.ROOT
        
        1
    
    
        appServlet
        /
    

 
    /testweblogic
    
                  
            org.slf4j.*
            org.springframework.*
        
    

说明:关于在eclipse中创建web.xml可以参考解决新建maven工程没有web.xml的问题
4.打包部署
先在pom.xml中加入war。在eclipse中可以右击pom.xml->Run As->Maven instal 将项目打成war包

5.部署测试
在weblogic上部署web应用可以参考weblogic部署web项目(war包)。
然后在浏览器地址栏访问项目的测试路径。

6.总结
到这里我们已经成功将 springboot和mybatis整合并部署到weblogic上。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/77031.html

相关文章

  • SpringBoot 入门简介

    摘要:这里使用的是数据库启动类上加上注解在启动类中添加对包扫描扫描多个包下的可以有以下几种方法扫描会自动加载相关配置,数据源就会自动注入到中,会自动注入到中,可以直接使用。有配置文件下的使用扫描多个包下的可以有以下几种方法扫描 Spring-Boot 学习笔记 1 Spring-Boot 介绍 1.1 什么是Spring-Boot Spring-Boot是由Pivotal团队提供的全新框架...

    chuyao 评论0 收藏0
  • Springboot整合Quartz实现动态定时任务

    摘要:本文使用实现对定时任务的增删改查启用停用等功能。并把定时任务持久化到数据库以及支持集群。决定什么时候来执行任务。定义的是任务数据,而真正的执行逻辑是在中。封装定时任务接口添加一个暂停恢复删除修改暂停所有恢复所有 简介 Quartz是一款功能强大的任务调度器,可以实现较为复杂的调度功能,如每月一号执行、每天凌晨执行、每周五执行等等,还支持分布式调度。本文使用Springboot+Myba...

    IamDLY 评论0 收藏0

发表评论

0条评论

brianway

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<