웹 & 프레임워크 168

Spring @autowired 에노테이션 활용법

@resource, @injection은 자바진영 에노테이션임 @autowired는 타입과 네임 모두 드러감@autowired는 심지어 일반 메서드에도 붙일수있다 근데 헷갈리니까 꺼지셈멤버변수에도 프라이빗 변수에도 다 갈수있따. reflection API, 실행중인놈들 접근해서 상속트리 어쩌고 하면 private도 접근할수있다.그냥 관습을 따르는 취지에서 setter에 넣지만, 일반메서드도 가능하고 생성자에도 가능하고 다 가능함근데 쓰지마

Spring 싱글톤 설계

prototype - 요청할때마다 새로운놈request - 같은 리퀘스트면 똑같은 빈, 다르면 다른빈session - 이건 세션!, 근데 이 두개는 웹환겨에서만 됨singletone - default값임! 싱글톤 //spring컨테이너는 항상 bean을 하나만 만든다!싱글톤으로 굳이 설정하지 않아도 //객체하나로 관리한다! 멀티쓰레딩시 공유에 의한 문제가 없는지 체크는 해봐야함 //밑에건 true이 됨! 만약 새로 객체를 만들어서 받고싶다면 bean에 scope을 준다 System.out.println(bean == bean2); 이렇게 주면 System.out.println(bean == bean2); 이건 false값이 뜰것이다 //이런식으로 주면 됨!//근데 보면 out은 또 싱글톤이라고 될수있다...

Spring DI(Dependency Injection) 출력도우미

private OutputService outputter = new OutputServiceImplConsole(); 이건 별로 좋지않다. 왜냐면 우항을 계속 바꿔야하기때문 일단 콘솔에 찍는거랑, 파일에 뿌리는거랑 둘다 넘긴다.위쪽에 new OutputServiceImplConsole();을 계속한다면 계속 소스를 바꾸고 컴파일을 해야하기 때문에밑에 저렇게 써놓고 그냥 얘네들 받을수 있는거 준비만 한다. private OutputService outputter; 바로이게 마법의 문장이다. 아무 new도 안했다. 나머지는 spring이 해줄것이다. package com.gorakgarak.sample1.setter; public class GreetingServiceImpl implements Greeti..

Spring 설치

스프링은 쉽게 STS설치를 통해 이용할수있다.help -> eclipse marketplace -> sts를 타입하고 검색한다다 설정할수도 있지만 귀찮으니 이 플러그인을 받아서 알아서 해주게 한다maven을 이용하면 편하나 그냥 simple java로 만든다 배우기 위해!그다음 src폴더에다가 뉴 패키지, 권장은 maven인데, 라이브러리를 받을수있는 경로가 없어졌다. 하지만 현업에서는 maven을 안쓰는경우가 종종 있다고 해서 그런당 이걸왜쓰냐? 자꾸 패키지가 바뀌면 구리다 그래서 쓴다 Factory는new를 해주는 스프링의 대표적인 기능이다. 스프링을 이용해보자.첨부파일에 있는 그러한 라이브러리를 받아서 프로젝트안에 폴더를 통째로 넣고.buildpath 에 add to buildpath로 고고싱한다...

Spring 은 무엇이냐

스프링은 DI, AOP 데이터베이스 트랜젝션 관리기법, MVC패턴설계, MyBatis까지 통합적으로 개발할수 있게 해주는 일종의 라이브러리 프레임워크로써, 많은 자바기반의 프로젝트는 스프링을 통해 이루어졌다고 생각하면 된다.물론 요즘에는 루비와 같은 애자일 기법이 많이 활용되고 있지만 엔터프라이즈급의 프로젝트는 스프링과 뗄레야 뗄수가 없다.스프링은 hibernate라는 객체관점에서 데이터를 뽑아낼수있게 핸들링하는 라이브러리도 지원하고, MyBatis라는 SQL매핑하는데 있어서 굉장히 편리한 프레임워크도 동시에 지원하기 때문에, 대부분의 웹 자바 개발자는 꼭 배워야하는 것이다.