搭建spring boot项目

pom.xml配置

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>ny</groupId>
	<artifactId>IOThub</artifactId>
	<packaging>jar</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>IOThub Maven Webapp</name>
	<url>http://maven.apache.org</url>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.0.RELEASE</version>
	</parent>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>
	<dependencies>
		<!-- 引入所需依赖 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-aop</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
		    <groupId>org.springframework.boot</groupId>
		    <artifactId>spring-boot-starter-logging</artifactId>
		</dependency>
		<dependency>
		    <groupId>org.springframework.boot</groupId>
		    <artifactId>spring-boot-starter-websocket</artifactId>
		</dependency>
		<dependency>
	      	<groupId>javax</groupId>
	      	<artifactId>javaee-api</artifactId>
	      	<version>7.0</version>
	      	<scope>provided</scope>
	    </dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
		    <groupId>com.alibaba</groupId>
		    <artifactId>druid</artifactId>
		    <version>1.1.0</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.1.1</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>
		<!--  JSON 包-->
		<dependency>
		    <groupId>net.sf.json-lib</groupId>
		    <artifactId>json-lib</artifactId>
		    <version>2.4</version>    
		    <classifier>jdk15</classifier> 
		</dependency>
		<!-- 热部署 -->
		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
           <scope>true</scope>
		</dependency>
	</dependencies>

	<build>
		<finalName>IOThub</finalName>
		<plugins>
		    <plugin>
	            <groupId>org.springframework.boot</groupId>
	            <artifactId>spring-boot-maven-plugin</artifactId>
	            <configuration>
<!-- 	          		fork :  如果没有该项配置,肯定devtools不会起作用,即应用不会restart -->
	                <fork>true</fork>
	            </configuration>
	        </plugin>
		</plugins>
		<resources>
            <!--打包的时候把xml文件打包入jar包-->
            <resource>
                <directory>src/main/java</directory>
                <includes>                     
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>                     
                    <include>**/*.*</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
	</build>
</project>

启动application.java

package com;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.ny.dao")
public class Application {
	
	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}
}

controller

package com.ny.controller;

import java.net.URI;
import java.util.HashMap;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.websocket.ContainerProvider;
import javax.websocket.WebSocketContainer;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.ny.entity.UserInfoEntity;
import com.ny.service.UserInfoService;
import com.ny.until.ChatMessageHandler;
import com.ny.until.SocketClient;

@Controller
public class LoginController {

	private final Logger LOG = LoggerFactory.getLogger(this.getClass());
	@Resource
    private UserInfoService userInfoService;
	
	@RequestMapping("/")
	// 用main登录,跳转登录页面
	public String main() {
		LOG.info("进入登录界面");
		return "login";
	}
	
	@RequestMapping("login")
	// 验证登录信息,成功跳转主页面,或者退回登录页面
	public ModelAndView login(UserInfoEntity user, HttpServletRequest request) {
		
		LOG.info(">>>用户" + user.getuName() + "登陆");
    	ModelAndView mav = null;
    	// 判定登录用户是否正确
    	if (userInfoService.checkTheUser(user)) {
    		// 把用户信息存储到session中方便后面取用
    		request.getSession().setAttribute("user", user);
    		
    		// 更新用户最后一次登录的信息
    		userInfoService.updateLastLogin(user.getuName());
    		LOG.info(">>>用户" + user.getuName() + "登陆成功");
    		
    		mav.addObject("user", user);
    	} else {
    		// 登录失败跳转至登录页面
    		mav = new ModelAndView("login");
    		LOG.info(">>>用户" + user.getuName() + "登陆失败");
    		mav.addObject("error", "error");
    	}
		return mav;
	}
	
	
	@RequestMapping("logout")
	public String logout(HttpServletRequest request) {

		LOG.info("注销");
		
		request.getSession().removeAttribute("user");
		return "login";
	}
}

service层

package com.ny.service;

import com.ny.entity.UserInfoEntity;

public interface UserInfoService {

	public UserInfoEntity getUserInfo(String uName);
	public boolean checkTheUser(UserInfoEntity user);
}

package com.ny.service.serviceImpl;

import java.security.NoSuchAlgorithmException;

import javax.annotation.Resource;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.ny.dao.UserInfoDao;
import com.ny.entity.UserInfoEntity;
import com.ny.service.UserInfoService;
import com.ny.until.Md5;

@Service("userInfoService")
public class UserInfoServiceImpl implements UserInfoService {

	private final Logger LOG = LoggerFactory.getLogger(UserInfoServiceImpl.class);	
	
	@Resource
	private UserInfoDao userInfoDao;
	
	@Override
	public UserInfoEntity getUserInfo(String uName) {
		
		return userInfoDao.getUserInfo(uName);
	}

	@Override
	// 判定登录用户姓名和密码是否正确
	public boolean checkTheUser(UserInfoEntity user) {
		try {
			user.setuPassword(Md5.Encoder(user.getuPassword()));
		} catch (NoSuchAlgorithmException e) {
			LOG.warn("登录出错");;
		}
		
		UserInfoEntity that = getUserInfo(user.getuName());
		if (that == null) {
			return false;
		}
		
		return user.getuPassword().equals(that.getuPassword());
	}

}

dao层

package com.ny.dao;

import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import com.ny.entity.UserInfoEntity;

@Mapper
@Repository("userInfoDao")
public interface UserInfoDao {

	public UserInfoEntity getUserInfo(String uName);
}

mapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.ny.dao.UserInfoDao">
    <resultMap id="userMap" type="com.ny.entity.UserInfoEntity">
        <result property="uId" column="u_id"/>
        <result property="uName" column="u_name"/>
        <result property="uPassword" column="u_password"/>
    </resultMap>
    <sql id="Base_Column_List" >
        u_id, u_name, u_password
    </sql>
    
    <select id="getCountForName" resultType="java.lang.Integer"  parameterType="java.lang.String">
        SELECT 
        	COUNT(*)
        FROM 
        	IOT_NY.USER_INFO
        WHERE 
        	u_name = #{uName}
    </select>
    
    <select id="getUserInfo" resultMap="userMap" parameterType="java.lang.String">
        SELECT 
        	u_id, u_name, u_password 
        FROM 
        	IOT_NY.USER_INFO
        WHERE 
        	u_name = #{uName}
    </select>
    
   
</mapper>
        

上面只是做个简单的demo思路到了,但是估计yu运行不通,相信给大家一个启发

注:

dao和mapper,名字一样,放在一个包里面

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值