@Lazy 와 @Primary

이번에는 Lazy와 Primary에대해 알아보자 Lazy는 말 그대로 게으른 걸 뜻한다. 코드로 확인하자 public class BeanClass { } 위와 같은 코드가 있다고 가정하자 그리고 빈으로 등록하자 @Bean public BeanClass beanClass(){ System.out.println(“register bean”); return new BeanClass(); } 그런후에 테스트를 해보자. @Test public void lazyTest(){ System.out.println(“get bean before”); BeanClass bean = applicationContext.getBean(BeanClass.class); System.out.println(bean); } 그럼 결과는 당연히 register bean 부터 출력 될 것이다. 이번엔 Lazy어노테이션을 써보자 @Bean @Lazy public BeanClass beanClass(){ System.out.println(“register bean”);.. Read More

spring boot querydsl

이번시간엔 querydsl에 대해 알아보자 한글 레퍼런스는 여기에 querydsl 은 JPQL와 Criteria를 대체 할 수 있으며 더 쉽다. 그게 장점이다. 일단 다음과 같이 메이븐에 추가하자 <dependency> <groupId>com.mysema.querydsl</groupId> <artifactId>querydsl-apt</artifactId> <version>${querydsl.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.mysema.querydsl</groupId> <artifactId>querydsl-jpa</artifactId> <version>${querydsl.version}</version> </dependency> … <plugin> <groupId>com.mysema.maven</groupId> <artifactId>apt-maven-plugin</artifactId> <version>1.1.3</version> <executions> <execution> <goals> <goal>process</goal> </goals> <configuration> <outputDirectory>target/generated-sources/java</outputDirectory> <processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor> </configuration> </execution> </executions> </plugin> 간단하게 entity를 추가하자 @Data @Entity @NoArgsConstructor @RequiredArgsConstructor public class Account { @Id @GeneratedValue private Long id; @NotBlank @Size(min.. Read More

spring과 netty

이번엔 spring을 이용해서 netty의 서버를 만들어보자 내용은 비슷하다. 기존에 했던거와 비슷하다. 스프링의 설정만 사용했다. main부터 보자 public static void main(String[] args) { try(AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class)){ context.registerShutdownHook(); NettyServer nettyServer = context.getBean(NettyServer.class); nettyServer.start(); } } 다들 아시다 시피 AnnotationConfigApplicationContext 에 SpringConfig을 설정했다. 다음 으로 SpringConfig를 보자 @Configuration @ComponentScan(“me.wonwoo.spring”) @PropertySource(“classpath:server.properties”) @Getter public class SpringConfig { @Value(“${tcp.port}”) private int port; @Bean public InetSocketAddress tcpPort() { return new InetSocketAddress(port); } @Bean public static.. Read More