분류 전체보기 850

Spring 스프링에서 에노테이션이란?

이제 2.5부터 애노테이션이 태어났다이놈은 소스가 아니고, 단순한 주석이 아니라메타정보를 가지고있어서 이걸통해 안에 뭔가 검사한다던지 정보검사 가능해짐소스안에 직접 설정하는 애노테이션으로 고고싱하자.설정이 줄어든다고 느껴질것이다 왜그럴까?이제 클래스에게 붙일것이니 확 줄어든다고 느끼는 것이다. 애노테이션은 클래스위, 멤버변수위, 아무데나 고고싱할수있다. xml에 기술했었던 그런것들은 줄어들게 되는데, 설정이 줄어든다고 생각할수도 있으나,사실 이건 소스안에 있는거다. 그래서 유지관리가 어려워질수있다. 코드는 아니지만 소스의 애노테이션을 수정하기때문에, 애노테이션을 수정하게 되면 소스를 재컴파일한다는 소리기때문에 단점이라고 볼수있을것이다. 유지관리차원에서는 xml이 더 낫다 인원이 작고 고고싱할때는 소스코드..

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로 고고싱한다...