zoukankan      html  css  js  c++  java
  • (一) springboot 项目搭建 --《springboot与shiro整合》

    废话不多说, 直接上代码

    1.1 我们先配置spring boot 

    1.添加pom依赖

       <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.5.4.RELEASE</version>
            <relativePath />
        </parent>
      
       <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            
            <!-- auto redeploy -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <optional>true</optional>
            </dependency>
       </dependencies>
       
       <build>
            <plugins>
                <!-- compiler插件参数设置,指定编码 -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.2</version>
                    <configuration>
                        <source>1.7</source>
                        <target>1.7</target>
                        <encoding>${project.build.sourceEncoding}</encoding>
                    </configuration>
                </plugin>
            </plugins>
        </build>

    2.application.properties 配置

    #配置项目端口
    server.port=8080

    3.程序启动类

    @SpringBootApplication
    public class Application {
        
        public static void main(String[] args) {
            SpringApplication application = new SpringApplication(Application.class);
            application.run(args);
        }
    }

    4.创建Controller

    @RestController
    @RequestMapping("/user")
    public class TestController {
        
        @RequestMapping("/login")
        public String users(){
            return "hello world";
        }
    }

    现在访问 http://localhost:8080/user/login 

     

    好了,现在我们springboot 已经搭建好了,下面我们我们来做一些前期工作,与数据库结合完成一个登录的功能

    这里我们使用mybatis

    1. 前期准备工作

    数据库表结构

    用户表(sys_users) ,角色表(sys_roles) ,权限表(sys_permissions)  ,用户角色关系表(sys_users_roles) ,角色权限关系表(sys_roles_permissions)

    引入mybatis 依赖 

     <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>4.3.6.RELEASE</version>
    </dependency>
            
    <dependency>
        <groupId>commons-dbcp</groupId>
        <artifactId>commons-dbcp</artifactId>
        <version>1.4</version>
    </dependency>
    
    <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.2.1</version>
    </dependency>
    
    
    <!-- jdbc driver -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>

      <!--Mybatis -->
      <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis</artifactId>
          <version>3.3.1</version>
      </dependency>


      <dependency>
         <groupId>org.mybatis</groupId>
         <artifactId>mybatis-spring</artifactId>
         <version>1.2.4</version>
     </dependency>


      <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-core</artifactId>
        <version>1.3.2</version>
        <scope>compile</scope>
        <optional>true</optional>
      </dependency>

    配置数据源

    @Component
    @Configuration
    @MapperScan(basePackages = "com.zhangls.blog.dao", sqlSessionTemplateRef  = "systemSqlSessionTemplate")
    public class DataSourceConfig {
        
        @Bean(name = "systemDataSource")
        @Primary
        @ConfigurationProperties(prefix = "spring.jdbc.properties") // application.properteis中对应属性的前缀
        public DataSource dataSource() {
            return DataSourceBuilder.create().build();
        }
    
        @Bean(name = "systemSqlSessionFactory")
        @Primary
        public SqlSessionFactory testSqlSessionFactory(@Qualifier("systemDataSource") DataSource dataSource) throws Exception {
            SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
            bean.setDataSource(dataSource);
            bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/system/*.xml"));
            bean.setTypeAliasesPackage("com.zhangls.blog.entity");        
            return bean.getObject();
        }
    
        @Bean(name = "systemTransactionManager")
        @Primary
        public DataSourceTransactionManager testTransactionManager(@Qualifier("systemDataSource") DataSource dataSource) {
            return new DataSourceTransactionManager(dataSource);
        }
    
        @Bean(name = "systemSqlSessionTemplate")
        @Primary
        public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("systemSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
            return new SqlSessionTemplate(sqlSessionFactory);
        }
    
    }

     DAO ,Service , Controller ,Mapper  等代码这里就不写了

    @RestController
    @RequestMapping("/user")
    public class UserController {
        
        @Autowired
        private UserService userService;
        
        @RequestMapping("/login")
        public String users(){
            
            StringBuilder msg = new StringBuilder();
            User user = userService.findByUsername("zhang");
            if(user != null){
                msg.append("登录成功");
            }else{
                msg.append("登录失败");
            }
            return msg.toString();
        }
    }

    请求登录接口

     前期的准备工作已经完毕,下面开始整合shiro

    代码在这里

  • 相关阅读:
    107. Binary Tree Level Order Traversal II
    108. Convert Sorted Array to Binary Search Tree
    111. Minimum Depth of Binary Tree
    49. Group Anagrams
    使用MALTAB标定实践记录
    442. Find All Duplicates in an Array
    522. Longest Uncommon Subsequence II
    354. Russian Doll Envelopes
    opencv 小任务3 灰度直方图
    opencv 小任务2 灰度
  • 原文地址:https://www.cnblogs.com/zls1218/p/8779191.html
Copyright © 2011-2022 走看看