Spring (2) SpringIOC 관련 주해
16680 단어 SSM
1. @Component : 。
2. @Controller @Component , ( = )
3. @Service @Component ,
4. @Repository @Component ,
2. 주입 에 의존 하 는 주해
@ Autowired 는 용기 에서 대상 을 찾 아 속성 에 값 을 부여 합 니 다.유형, 이름 에 따라 용기 에서 찾 아 보 세 요.
@Autowired ( )
1. (String), ;
2. , bean id, 。
3. , , :NoUniqueBeanDefinitionException
@Autowired ( )
1. , , ;
2. , 。
@ Qualifier 는 보통 Autowired 와 결합 하여 사용 합 니 다. 이름 에 따라 용기 에 대상 을 찾 아 주입 할 수 있 습 니 다.
@Qualifier("str1")
id(str1), 。
@ Value 는 간단 한 형식 속성 에 직접 값 을 부여 / 설정 파일 값 가 져 오기 @ Value ("${key}")
* @Value ( : )
* 1.
* 2. ( )
@ Resource 는 용기 에서 대상 을 찾 아 속성 에 값 을 부여 합 니 다.이름, 유형 에 따라 용기 에서 찾기
* @Resource ( : )
* 1.
* 2.
* name 。
* name, 。
3. 대상 범위 와 생명주기 관련 주해
* @Scope ( : )
* 、 : singleton/prototype
* @Lazy ( : )
* 1. ;
* 2. 。
* 3.
* @PostConstruct ( : )
* 1.
* 2.
* @PreDestroy ( : )
* 1. close()
* 2.
4. 프로필 대신 직접
@Configuration
@Configuration
* 1. ;
* 2. :applicationContext.xml
* 3. ,
@ComponentScan(basePackages = “com.it”)
@ComponentScan
* 1.
* 2. :<context:component-scan base-package="com.it"/>
* 3. basePackages
@Import(JdbcConfig.class)
@Import
* 。
@PropertySource(“jdbc.properties”)
@PropertySource
* 1.
* 2. :<context:property-placeholder location=""/>
@Bean(name = “dataSource”)
* 1. , ioc
* 2. @Bean
* , ioc
* ioc :@Bean(name = "dataSource")
* @Bean
* 1. , ;
* 2. , ioc 。
* 3. @Qualifier , 。
사례 파악 @ Bean 주석: JdbcConfig. java
package config;
import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.PropertySource;
import org.springframework.jdbc.core.JdbcTemplate;
import javax.sql.DataSource;
/**
* @PropertySource
* 1.
* 2. :
*/
@PropertySource("jdbc.properties")
public class JdbcConfig {
/**
*
*/
@Value("${jdbc.driver}")
private String driver;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
/**
* 1. , ioc
* 2. @Bean
* , ioc
* ioc :@Bean(name = "dataSource")
*/
@Bean(name = "dataSource1")
public DataSource createDataSource(){
DruidDataSource ds = new DruidDataSource();
ds.setDriverClassName(this.driver);
ds.setUrl(this.url);
ds.setUsername(this.username);
ds.setPassword(this.password);
return ds;
}
@Bean(name = "dataSource2")
public DataSource createDataSource2(){
DruidDataSource ds = new DruidDataSource();
ds.setDriverClassName(this.driver);
ds.setUrl(this.url);
ds.setUsername(this.username);
ds.setPassword(this.password);
return ds;
}
/**
* JdbcTemplate, ioc
* @Bean
* 1. , ;
* 2. , ioc 。
* 3. @Qualifier , 。
*/
@Bean
public JdbcTemplate createJdbcTemplate(@Qualifier("dataSource1") DataSource dataSource){
return new JdbcTemplate(dataSource);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ssm에서 ansible 해 본 메모 (그냥 메모)SSM EC2에 SSM 에이전트를 넣고 EC2를 SSM의 관리하에 놓습니다. SSM 관리형 인스턴스에서 볼 수 있다면 OK 참고 링크 S3 버킷 생성 Ansible 템플릿을 zip으로 만들어 S3에 배치하기 위해. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.