Ynns

spring security 프로젝트 (3) 본문

JAVA/Spring

spring security 프로젝트 (3)

yunassnn 2019. 11. 8. 15:36

MemberInsertTest 생성 위치

# MemberInsertTest 클래스

package com.spring.controller;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.inject.Inject;
import javax.sql.DataSource;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

//RunWith : 테스트를 실행하기 위해 필요한 어노테이션
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"file:src/main/webapp/WEB-INF/spring/root-context.xml",
						"file:src/main/webapp/WEB-INF/spring/security-context.xml"})
public class MemberInsertTest {
	
	@Inject
	private DataSource ds; //root-context.xml 에 작성해둔 ds
	@Inject
	private PasswordEncoder encoder; //암호화 security-context.xml 에 작성해둔 bcrypt
	
	@Test //테스트를 위한 메소드임을 명시한다
	public void test() {
		String sql="insert into spring_member(userid,userpw,username) values(?,?,?)"; //sql문
		
		Connection con = null;
		PreparedStatement pstm = null;
		
		for(int i=0;i<100;i++) {
			try {
				con=ds.getConnection();
				pstm=con.prepareStatement(sql);
				pstm.setString(2, encoder.encode("pw"+i)); //userpw 에 집어넣을 때 암호화를 위해 작성
				
				if(i<80) {
					pstm.setString(1, "user"+i);
					pstm.setString(3, "일반 사용자"+i);
				}else if(i<90){
					pstm.setString(1, "member"+i);
					pstm.setString(3, "운영자"+i);
				}else {
					pstm.setString(1, "admin"+i);
					pstm.setString(3, "관리자"+i);
				}
				pstm.executeUpdate();
			} catch (SQLException e) {
				e.printStackTrace();
			} finally {
				if(pstm!=null) {
					try {
						pstm.close();
					} catch (SQLException e) {
						e.printStackTrace();
					}
				}
				if(con!=null) {
					try {
						con.close();
					} catch (SQLException e) {
						e.printStackTrace();
					}
				}
			}
		}
	}
}

 

# JUnit Test 로 실행

 

# DB 에서 생성된 유저 확인

select * from spring_member;

 

Comments