본문 바로가기

Spring27

스프링 검색 내용 정리 (추후 추가 정리 필요) 스프링 quartz 설정 시, 계속 사용함 2019. 3. 5.
스프링 스케줄러, 스레드 사용법 스프링 스케줄러 사용법mvc-config.xmlxmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation="http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd" 컨트롤러에 @Service 추가@Service public class TargetController { .... }@PostConstruct, @Scheduled(fixedDelay=5000)해당 메소드가 서버 시작할 때 시작하고 싶을 때 @PosrtConstruct를 사용하면 WAS가 띄워질 때 실행된다.스케줄러를 돌릴 메소드에 @Sc.. 2019. 2. 5.
DAO 확장 1.3 DAO의 확장 1.3.1. 클래스의 분리 이번에는 아예 상속 관계가 아닌 독립적인 클래스로 만들어보려한다. DB 커넥션 부분을 별도의 클래스에 작성하고, 별도 클래스를 UserDao가 이용하게 하려한다. 위와 같이 SimpleConnectionMaker() 클래스를 작성해 UserDao가 이용하게 하는식으로 작성을 했지만, 상속을 이용한 경우와 마찬가지로 두 가지 문제가 생겼다. 1. SimpleConnectionMaker 메소드를 사용해 DB커넥션을 가져오는데 만약 다른 곳에서는 메소드이름을 다르게 사용한다면 커넥션을 가져오는 메소드 이름을 모조리 바꿔줘야하는 문제가 생긴다. 2. SimpleConnectionMaker라는 클래스 타입의 인스턴스 변수를 정의해놓고 있으므로, 다른 클래스를 구현할.. 2018. 8. 2.
DAO작성& 관심사 분리 & 커넥션 추출 & mysql 연동 - DAO DAO(Data Access Object)는 DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트. 1.1.1 User 사용자 정보를 저장할 때는 자바빈 규약을 따르는 오브젝트를 이용하면 편리하다. create table users ( id varchar(10) primary key, name varchar(20) not null, password varchar(10) not null ) user 테이블은 위와 같이 구성했다. 1.1.2 UserDao 사용자 정보를 DB에 넣고 관리할 수 있는 DAO 클래스 위와 같이 코드를 작성하고 실행했더니 DB에 값이 들어간 것을 볼 수 있다. * 하지만 위와 같이 DAO를 작성했다면 매우 초보적인 수준이라고 한다. 1.2 DAO의 .. 2018. 8. 1.
JDBC 프로그래밍 객체 정리 1. DriverManager 클래스- DriverManager 클래스는 데이터 원본에 JDBC 드라이버를 통하여 커넥션을 만드는 역할을 한다. DriverManager는 Class.forName() 메소드를 통해서 생성되는데, 이 메소드는 인터페이스 드라이버를 구현하는 작업이다. - Class.forName("com.mysql.jdbc.Driver") 처럼 특정 클래스를 로딩하면 자동으로 객체가 생성되고 DriverManager에 등록된다. 드라이버 클래스를 찾지 못할 경우 forName() 메소드는 ClassNotFoundException 예외를 발생시키므로 반드시 예외 처리를 해 야한다. - 일반적으로 드라이버 클래스들은 로드될 때 자신의 인스턴스를 생성하고, 자동적으로 DriverManager 클.. 2018. 7. 31.
스프링 @Autowired 스프링에서는 @Autowired 애노테이션을 사용해 의존 자동 주입을 할 수 있다. 자동주입을 사용하면 스프링에서는 알아서 의존 객체를 찾아서 주입해준다. 그래서 태그를 사용하지 않아도 의존 객체가 주입 될 수 있다. @Autowired 어노테이션은 스프링 설정파일에 등록된 빈 객체를 검색한 후 어노테이션이 적용된 프로퍼티, 메서드, 생성자등에 객체를 주입해 줄때 타입을 이용하게 된다. 그렇기 때문에 해당되는 타입의 빈 객체가 설정파일에 존재 하지 않을시 예외를 발생시키게 되는데, 이를 방지하기 위하여 @Autowird어노테이션의 required 속성을 사용해야한다. 기본값으로는 "true"이며 이 속성을 "false" 설정시 해당 타입의 빈 객체가 존재하지 않더라도 예외를 발생 시키지 않는다. 2018. 2. 4.