Spring
-
Spring @Autowired, @Resource, @Inject의 어노테이션 차이Spring 2020. 7. 2. 14:12
@Autowired, @Resource,@Inject은 모두 의존관계를 자동으로 연결해주는 기능을 가진 어노테이션이지만 조금씩 차이가 있다. @Resource @Autowired @Inject 설명 Java 에서 지원 Spring Framework 에서 지원하는 Dependency 정의 용도의 어노테이션 자동주입이며 종속적이다 Java 에서 지원 사용하는 위치 필드 , 한개의 파라미터인 빈 프로퍼티 setter 메소드 필드 , 생성자 , 여러개인 파라미터 메소드 필드 , 생성자 , 메소드 연결 또는 검색 방식 이름으로 연결 안되면 타입 타입으로 연결 안되면 이름 타입으로 연결 안되면 이름 특이사항 스프링프레임워크 종속 강제 연결 하기 @Resource(name="title") @Qualifier("tit..
-
Spring으로 배치 만들기 (quartz, scheduler,task)Spring 2020. 6. 7. 22:45
스프링에는 일괄 처리(batch processing) 배치를 만드는 여러가지의 기능이 있다. 방법1. quartz 스케줄링 객체 사용 방법2. 설정 사용 방법3. @Scheduled 어노테이션 사용 실행환경 Spring4 / java 1.8 org.quartz-scheduler quartz 2.3.2 org.springframework spring-context-support 4.3.4.RELEASE pom.xml에 위의 내용을 dependency추가 한다. 1. quartz 스케줄링 객체 사용 context-batch.xml 배치를 위하 클래스 작성 OneScheduling.java @Component("jobComponent") public class OneScheduling{ private stat..
-
스프링 Spring + 웹소켓 WebSocket 채팅 초간단 구현Spring 2020. 5. 26. 12:16
Spring Tool Suite4 기준으로 메이븐 MVC프로젝트를 생성한다. File > New > Spring Lagacy Project > Templates목록에서 맨 아레 Spring MVC Project 클릭 하고 생성 ※만약에 Spring Lagacy Project가 보이지 않는다면 마켓플레이스에서 STS를 입력후 STS3 Add-On 설치한다. org.springframework spring-websocket ${org.springframework-version} javax.websocket javax.websocket-api 1.1 기본 pom.xml에 2개의 의존성을 추가한다. 위 대로 디폴트 스프링mvc프로젝트를 생성하면 버전이 낮다. 그래서 웹소켓 인터페이스를 지원하는데 오류가 많이 났..
-
Spring @RequestBody 와 @ResponseBodySpring 2019. 12. 1. 21:53
Spring에서 RESTful API 구현시 주로 사용되는 @ResquestBody, @ResponseBody 어노테이션의 개념 @RequestBody 어노테이션이란? HTTP 요청의 body 내용을 자바 객체로 매핑한다. @ResponseBody 어노테이션이란? 자바 객체를 HTTP 요청의 body 내용으로 매핑한다. Controller.java @Controller public class BBsController { // HTTP 요청의 내용을 Bbs 객체에 매핑하기위해 @RequestBody 애너테이션을 설정한다. @RequestMapping(value="/bbs/insert", method = RequestMethod.POST) @ResponseBody public ApiResult bbsInse..
-
아이바티스(iBATIS) vs 마이바티스(MyBatis) 태그 비교Spring 2019. 9. 29. 17:40
네임스페이스 형태 iBATIS : MyBatis : Dynamic Query iBATIS vs MyBatis 비교 예제 iBATIS MyBatis isNull //searchName변수가 null이면 AND NAME IS NOT NULL //searchName변수가 null이면 AND NAME IS NOT NULL isNotNull //searchName 변수가 널이 아니면 NAME 컬럼에 검색 값 대입 AND NAME = #searchTxt# //searchName 변수가 널이 아니면 NAME 컬럼에 검색 값 대입 AND NAME = #{searchTxt} isEmpty //searchName 변수가 공백이면 AND NAME IS NOT NULL //searchName 변수가 공백이면 AND NAME ..
-
스프링(Spring) 컨트롤러(Controller)가 아닌 곳에서 request session정보 가져오기Spring 2019. 2. 6. 16:05
import java.util.Map;import javax.servlet.http.HttpSession;import org.springframework.web.context.request.RequestContextHolder;import org.springframework.web.context.request.ServletRequestAttributes;public class GetSessionUser { //컨트롤러 및 서비스에서 getSession을 하지않고 세션정보를 가져오는 메소드 public static UserVo getUser() { ServletRequestAttributes servletRequestAttribute = (ServletRequestAttributes) RequestCont..
-
스프링 @Controller 컨트롤러 리턴타입의 종류Spring 2018. 2. 18. 14:33
1. 자동 추가 모델 오브젝트와 자동생성 뷰 이름 다음 4가지는 리턴 타입에 상관없이 조건만 맞으면 모델에 자동으로 추가 된다. 1-1. @ModelAttribute 모델 오브젝트 또는 커맨드 오브젝트 1 2 3 4 5 public void add( @ModelAttribute("member") Member member) public void add( @ModelAttribute Member member) public void add( Member member) s 위의 세 경우는 모두 'member'라는 이름으로 member 파라미터 오브젝트는 컨트롤러가 리턴하는 모델에 추가 해준다. 1-2. Map, Model, ModelMap 파라미터 컨트롤러 메소드에 Map, Model, ModelMap 타입의 ..