본문 바로가기

Java/Spring14

spring3 legacy 0. eclipse 에서 maven project 생성 1. pom.xml 4.0.0 com.example SpringCxfTest 0.0.1-SNAPSHOT war SpringCxfTest Maven Webapp http://www.example.com UTF-8 1.7 1.7 3.2.8.RELEASE org.springframework spring-webmvc ${spring.framework.version} SpringCxfTest maven-clean-plugin 3.1.0 maven-resources-plugin 3.0.2 maven-compiler-plugin 3.8.0 maven-surefire-plugin 2.22.1 maven-war-plugin 3.2.2 maven-install-plu.. 2023. 1. 30.
simple servlet 0. 개발환경 jdk 1.8 tomcat 7.0 eclipse 2021-06 1. new Dynamic Web Project (Dynamic web module version: 3.0) 2. new Servlet 3. Servlet1.java 코드가 생성됨. web.xml의 servlet-mapping을 사용하지 않고, @WebServlet이 이용되었다. package com.exmaple; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.H.. 2021. 11. 14.
spring bean 등록 확인 package smartsuite.web; import javax.inject.Inject; import org.springframework.context.ApplicationContext; public class AA { @Inject private ApplicationContext applicationContext; public void proc(String[] args) { String[] beans = applicationContext.getBeanDefinitionNames(); for (String bean : beans) { System.out.println("beanbeanbeanbeanbeanbeanbean : " + bean); } } } 2021. 10. 29.
lombok 같은 library를 만들면 node.js의 es6 등의 기능을 구현할 수 있지 않을까? java에서 가장 불편한 부분이 multiline string JSON 처리이다. 그리고 템플릿문자열(백틱)도 있으면 좋겠다. lombok은 없는 코드를 컴파일시에 자동으로 생성해주는데,,, 그렇다면, 여러 코드 규칙 생성해서 컴파일시에 자체적으로 변형시켜주면 되지 않을까???// TODO... 참고 https://free-strings.blogspot.com/2015/12/lombok.html Lombok은 어떻게 동작되나? 간단정리 개인적으로 개발관련 내용을 정리하는 잊지말자 블로그 입니다. free-strings.blogspot.com 이미 같은 생각은 가진 사람이 있었다. https://gyrfalcon.tistory.com/entry/.. 2021. 5. 17.
[deploy] Github Action / S3 / CodeDeploy / EC2 1년 전의 블로그들을 보더라도 Travis를 사용해서 Build를 했지만 이젠 github action(2019년)이 나와서 Travis조차도 필요없게 되었다. 아마 곧? 지금도? S3가 필요없을지도 모르겠다. 점점 CI/CD가 간소화된다. 개요: 1. Github main branch에 소스코드를 push하면, 자동으로 감지하여 Github Action에서 - 빌드하고, - 빌드결과인 jar와 관련된 파일(appspec.yml, deploy.sh)을 zip으로 압축한 다음에, - S3로 파일을 업로드 하고, - CodeDeploy기능을 실행한다.(= 업로드 된 파일을 EC2로 전송, 임의 공간에 압축 해제, appspec.yml의 내용을 실행) (소스코드ROOT/.github/workflows/main.. 2021. 5. 14.
java.lang.IllegalAccessException: Class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor can not access a member of class org.example.entity.BaseEntity with modifiers "public" 모든 Entity는 BaseEntity를 상속한다. import java.time.LocalDateTime; import javax.persistence.Column; import javax.persistence.EntityListeners; import javax.persistence.MappedSuperclass; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import lombok.Getter; @Gett.. 2021. 5. 9.
[security] 정리 [코드로 배우는 스프링부트] - 구멍가게 코딩단 1. id/pw로 로그인 1. security lib 추가 2. config 추가 @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter { 3. passwordEncoder 추가 @Bean PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } 4-1. 직접 [인증] 매니저 설정 @Override ptected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication() .wit.. 2021. 5. 6.
[security] getPassword() is null [코드로 배우는 스프링부트] - 구멍가게 코딩단 기준 plugins { id 'org.springframework.boot' version '2.4.4' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'com.adarshr.test-logger' version '2.1.1' id 'java' id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10' } ClubLoginSuccesshandler로 로그인 성공후 AuthenticationSuccessHandler에서 redirect하는 부분. ClubAuthMemberDTO authMember = (ClubAuthMemberDTO) authent.. 2021. 5. 6.