일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 에러
- Vue
- Spring
- JavaScript
- 알고리즘
- 방법
- Git
- 시큐리티
- 자바
- jquery
- GitHub
- error
- 스프링
- mybatis
- 넥사크로
- db
- Java
- 생성
- 함수
- IntelliJ
- Eclipse
- aws
- JPA
- oracle
- Security
- 쿼리
- kotlin
- 오라클
- 코틀린
- 프로그래머스
- Today
- Total
목록Spring (40)
송민준의 개발노트
Security Config에서 Form Login 인증 방식은 아래와 같이 처리해주면 된다. 본 방식은 Java Config이다. @Override protected void configure(HttpSecurity http) throws Exception { http .formLogin() // 로그인 폼 세팅 .loginPage("/members/loginform") // 사용자 정의 로그인 페이지 .usernameParameter("email") // name 속성이 userId, password 일치하여야 함 .passwordParameter("pwd") .loginProcessingUrl("/authenticate") // 로그인 프로세스를 처리하는 경로(submit url) .failureF..
어떻게 나누어지는가? Exception은 Checked Exception과 Unchecked Exception으로 구분이 되는데 Unchecked Exception은 runtime Exception을 상속하기 때문에 별다른 처리를 안해줘도 롤백이 되고 Checked Exception은 상속하지 않기 때문에 rollback이 안된다. 예를 들어 SQLException이나 IOException인 경우 Checked Exception에 해당되고 Exception 처리를 안해주면 Rollback이 안된다. 해서 Checked Exception은 명시적으로 처리를 해줘야하기 때문에 throws나 try catch로 처리를 해줘야 하고 반면 Unchecked Exception은 묵시적으로 된다. 왜 Checked ..
1. pom.xml에 dependency 추가 com.h2database h2 runtime ---------*************----------------- 혹시나 security를 사용한다면 권한 설정을 해줘야하고 관리자만 적용할 수도 있겠지만 일단 누구든지 접근 가능하게 세팅해보겠다. @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests().antMatchers("/h2-console/**").permitAll(); http.csrf..
Spring 및 mybatis가 세팅이 되어 있다는 가정 하에 사용법이다. (먼저 서비스단에서 DAO 가 DI 됨) 1. 서비스단 objectDAO.call("리소스이름", 파람데이터); if(!"식별값".equals(파람데이터.get("에러코드")) { throw 어떤Exception("~", 파람데이터.get("에러메시지").toString()); } 2. DAO @Autowired private SqlSessionTemplate sqlSession; public Object call(String sql, Map(또는 커스텀Object) map) throws Exception { return sqlSession.update(sql, map); } 3. XML {call 프로시저명( #{파람1,mode..
* 사용 시 주의사항 @Transactional 을 클래스 또는 메소드 레벨에 명시하면 해당 메서드 호출 시 지정된 트랜잭션에 작동하게 된다. 단 조건이 있다. 해당 클래스의 Bean을 다른 클래스의 Bean에서 호출할 때만 @Transactional을 인지하고 작동하게 된다. ( 같은 빈 내에서는 작동하지 않음), Spring은 내부적으로 AOP를 통해 어노테이션을 인지해서 프록시 생성을 하여 트랜잭션을 자동으로 관리하기 때문임. 1. 트랜잭션의 성질 1) 원자성(Atomicity) - 한 트랜잭션 내에 실행한 작업들은 하나로 간주한다. 즉 모두 성공 또는 실패 2) 일관성(Consistency) - 트랜잭션은 일관성 있는 데이터베이스 상태를 유지한다. 3) 격리성(isolation) - 동시에 실행되..
기존에 스프링 프로젝트에서는 properties 파일을 사용해서 설정과 관련된 내용을 저장해서 불러왔다. 스프링부트를 사용하게 되면서 yaml 을 사용하게 되었는데 타 포맷에 비해 사람이 보기가 편한 장점이 있다. 이는 관리가 용이해지는 장점이 되기도 한다. yaml의 경우 들여쓰기로 구분하고 리스트로 표현하고자 할 때는 - "대쉬" 로 표현이 가능하다. yaml 은 문법에 있어서 약간 엄격한 편인데 이 때문에 삽질을 좀 했었다. 가령아래와 같이 설정을 하는 경우가 있다면 mytest가 spring 하위로 들어가서 인식이 안된다던지.... 콜론(:) 다음에는 공백 한칸이 있어야 한다던지 그런 문제점들이 있다.(삽질로 깨달음) spring jpa: hibernate: ddl-auto: update data..
### Error querying database. Cause: java.lang.NumberFormatException: For input string: "Y" ### Cause: java.lang.NumberFormatException: For input string: "Y" 에러를 뿜뿜 뿜어대는 스프링 마이바티스 에러인데 위에 처럼 사용했더니 에러가 뜬다. 해결방법은 간단하다 싱글코트와 더블코트의 위치를 바꿔주면 된다.