본문 바로가기

Back-end/Spring Framework13

spring framework 트랜잭션, @Transactional 처리 트랜잭션 트랜잭션은 두 개 이상의 쿼리를 한 작업으로 실행해야할 때 사용합니다. @Override @Transactional // db 동시에 public void insert(CommentDTO comment) { // 댓글 추가 mapper.insert(comment); // 댓글 수 증감 bmapper.updateReplyCnt(comment.getBnum(), 1); } 이와 같은 메소드를 처리하기 위해 어떻게 해야 될까요? root-context.xml Check Namespaces tx를 체크해줍니다. 으로 트랜잭션 동작을 활성화시킵니다. DataSourceTransactionManager : JDBC 및 mybatis 등의 JDBC 기반 라이브러리로 데이터베이스에 접근하는 경우에 이용합니다... 2022. 5. 9.
spring lagacy project / 생성, 설정, 오류 처리, maven, mybatis | 히카리 cp STS4 JAVA EE Tool 및 여러 Tools 설치 STS4 utf-8 설정 spring legacy project STS 플러그인 설치 및 스프링 프로젝트 생성 [Spring] Spring Legacy Project 초기 설정 Java Build Path, Project Facets --> set java version pom.xml 11 5.3.2.RELEASE 1.6.10 1.6.6 메이븐 업데이트 하기 가끔 경로 이탈 할 경우 있음. https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api javax.servlet javax.servlet-api 4.0.1 provided https://mvnrepository.com/artifa.. 2022. 5. 6.
java spring 커넥션 풀 , jdbcTemplate 1. 컨테이너 초기 설정 또는 1_1 자파 파일로 만들기 @Configuration public class DBConfig { @Bean public ComboPooledDataSource dataSource() throws PropertyVetoException { ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setDriverClass("oracle.jdbc.driver.OracleDriver"); dataSource.setJdbcUrl("jdbc:oracle:thin:@localhost:1521:xe"); dataSource.setUser("scott"); dataSource.setPassword("tiger").. 2020. 8. 13.
java spring 리다이렉트, 인터셉트 컨트롤러에서 분기할 때 // Remove @RequestMapping("/removeForm") public ModelAndView removeForm(HttpServletRequest request) { ModelAndView mav = new ModelAndView(); HttpSession session = request.getSession(); Member member = (Member) session.getAttribute("member"); if(member == null) { mav.setViewName("redirect:/"); //메인페이지로 분기 }else { mav.addObject("member", member); mav.setViewName("/member/removeForm");.. 2020. 8. 12.
java spring 세션 & 쿠키 세션 일반적인 로그인 상태 유지, 장바구니 등의 기능 1. HttpServletRequest @RequestMapping(value = "/login", method = RequestMethod.POST) public String memLogin(Member member, HttpServletRequest request) { Member mem = service.memberSearch(member); HttpSession session = request.getSession(); session.setAttribute("member", mem); return "/member/loginOk"; } 2. HttpSession @RequestMapping(value = "/login", method = Reque.. 2020. 8. 10.
java spring , Controller 설정팁 Member Join ID : PW : MAIL : PHONE : - - LOGIN MAIN @Controller //@RequestMapping("/member") // /lec17/member/memJoin : member가 겹쳐서 있을 때 public class MemberController { // MemberService service = new MemberService(); // @Autowired @Resource(name="memService") MemberService service; // @RequestMapping("/memJoin") //GET 방식일 경우 @RequestMapping(value="/memJoin", method=RequestMethod.POST) // public .. 2020. 8. 9.
java spring , controller & dao & service 객체 1. controller @Controller public class MemberController { // MemberService service = new MemberService(); //지양 // @Autowired //자동주입 @Resource(name="memService") MemberService service; 2. dao //@Component @Repository //자동 주입 가능 public class MemberDao implements IMemberDao { 3. service 컨테이너 설정 안해도 주입 가능 //@Service //(추천)서비스로 컨테이너에 담겨라 //@Service("memService") //@Component //@Component("memService".. 2020. 8. 8.
java spring 스프링 mvc 웹서비스 STS(spring tools suite) 1. 웹 설정하기 포트번호 오버랩 방지위해 변경 2. 빠른 웹 프로젝트 생성을 위해 sts 설치 3. 프로젝트 생성 4. 5. 패키지명 6. root설정 / 2020. 8. 6.
java spring 스프링 MVC 플레임워크 설계 구조 요청은 서브릿에서 받고 서블릿에서 맵핑으로 간다. 맵핑은 요청에 가장 적합한 컨트롤러를 찾아준다. 어댑터는 컨트롤러의 가장 적합한 메소드를 찾아준다. 결과는 ViewResolver가 받는다. 결과에 해당하는 JSP 를 찾는다. 2020. 8. 4.
java spring 어노테이션을 이용한 스프링 설정, 파일 분리 @Configuration public class MemberConfig { // @Bean public StudentDao studentDao() { return new StudentDao(); } /* */ @Bean public StudentModifyService registerService() { return new StudentModifyService(studentDao()); } @Bean public StudentRegisterService modifyService() { return new StudentRegisterService(studentDao()); } @Bean public StudentDeleteService deleteService() { return new StudentDe.. 2020. 8. 3.
java spring 스프링 설정 파일 분리 (xml), 범위 하나의 xml 을 기능별로 분리하여 작성할 경우 유지보수, 관리가 쉬워진다. 기능별, DB설정, DB연결이 필요한 작업-기능 등등 분리된 파일을 불러올 때 String[] appCtxs = {"classpath:appCtx1.xml", "classpath:appCtx2.xml", "classpath:appCtx3.xml"}; GenericXmlApplicationContext ctx = new GenericXmlApplicationContext(appCtxs); import도 가능 스프링 설정 파일에서 그렇게 할 경우 import 한 파일만 불러도 된다. GenericXmlApplicationContext ctx = new GenericXmlApplicationContext("classpath:appCt.. 2020. 7. 26.
java spring 다양한 의존 객체 주입 (DI) , 초기메서드-destroy메서드 .xml 1. 생성자로 주입 public StudentRegisterService(StudentDao studentDao) { this.studentDao = studentDao; } --> 주입 객체를 먼저 등록하고 로 감싼다. 2. setter 로 주입 public class DataBaseConnectionInfo { private String jdbcUrl; private String userId; private String userPw; public String getJdbcUrl() { return jdbcUrl; } public void setJdbcUrl(String jdbcUrl) { this.jdbcUrl = jdbcUrl; } public String getUserId() { retu.. 2020. 7. 24.