contente
1. Fonte de dados de configuração do Spring
1.1 O papel das fontes de dados (pools de conexão)
1.2 Etapas de desenvolvimento da fonte de dados
1.3 Fonte de dados de configuração do Spring
1.4 Extraia o arquivo de configuração jdbc para configurar a fonte de dados
1.5 Pontos-chave de conhecimento
2. Desenvolvimento de anotações Spring
2.1 Anotação original da primavera
1. Fonte de dados de configuração do Spring
1.1 O papel das fontes de dados (pools de conexão)
- A fonte de dados (pool de conexões) é para melhorar o desempenho do programa conforme aparece
- Instancie a fonte de dados com antecedência e inicialize alguns recursos de conexão
- Obtido da fonte de dados ao usar o recurso de conexão
- Retorne o recurso de conexão para a fonte de dados após o uso
Fontes de dados comuns (pools de conexão): DBCP , C3P0, BoneCP, Druid , etc.
1.2 Etapas de desenvolvimento da fonte de dados
- Importar coordenadas de fonte de dados e coordenadas orientadas por banco de dados
- Criar um objeto de fonte de dados
- Defina os dados básicos de conexão para a fonte de dados
- Obtenha recursos de conexão e retorne recursos de conexão usando fontes de dados
1.3 Fonte de dados de configuração do Spring
- Você pode entregar a criação do DataSource para o contêiner Spring
- DataSource tem um construtor sem parâmetros e o padrão do Spring para instanciar objetos por meio do construtor sem parâmetros
- Para usar o DataSource, você precisa definir as informações de conexão do banco de dados por meio do método set, e o Spring pode executar a injeção de string por meio do método set
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test"/>
<property name="user" value="root"/>
<property name="password" value="root"/>
</bean>
Testar a obtenção da fonte de dados do contêiner
ApplicationContext applicationContext = new
ClassPathXmlApplicationContext("applicationContext.xml");
DataSource dataSource = (DataSource) applicationContext.getBean("dataSource");
Connection connection = dataSource.getConnection();
System.out.println(connection);
1.4 Extraia o arquivo de configuração jdbc para configurar a fonte de dados
<context:property-placeholder location="classpath:jdbc.properties"/>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driver}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
applicationContext.xml carrega o arquivo de configuração jdbc.properties para obter informações de conexão.
Primeiro, o namespace de contexto e os caminhos de restrição precisam ser introduzidos:
- Namespace: xmlns: context ="http://www.springframework.org/schema/context"
- Caminho de restrição: http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
1.5 Pontos-chave de conhecimento
O contêiner do Spring carrega o arquivo de propriedades
<!-- 大致模板 -->
<context:property-placeholder location="xx.properties"/>
<property name=" " value="${key}"/>
2. Desenvolvimento de anotações Spring
2.1 Anotação original da primavera
Spring é um framework leve de código e reconfiguração. A configuração é relativamente pesada e afeta a eficiência do desenvolvimento. Portanto, o desenvolvimento de anotação é uma tendência. A anotação substitui os arquivos de configuração xml para simplificar a configuração e melhorar a eficiência do desenvolvimento. As anotações originais do Spring são usadas principalmente para substituir a configuração do <Bean>.
2.2 Primavera novas anotações
O uso das anotações acima não pode substituir completamente os arquivos de configuração xml, e as configurações que precisam ser substituídas por anotações são as seguintes
-
Configuração do bean não personalizado: <bean>
-
Carregue a configuração do arquivo de propriedades: <context:property-placeholder>
-
Configuração de verificação de componentes: <context:component-scan>
-
Importe outros arquivos: <import>
@Configuration
@ComponentScan("com.project")
@Import({DataSourceConfiguration.class})
public class SpringConfiguration { }
@PropertySource
@PropertySource("classpath:jdbc.properties")
public class DataSourceConfiguration {
@Value("${jdbc.driver}")
private String driver;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;}
@Bean(name="dataSource")
public DataSource getDataSource() throws PropertyVetoException {
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setDriverClass(driver);
dataSource.setJdbcUrl(url);
dataSource.setUser(username);
dataSource.setPassword(password);
return dataSource; }
@Test
public void testAnnoConfiguration() throws Exception {
ApplicationContext applicationContext = new
AnnotationConfigApplicationContext(SpringConfiguration.class);
UserService userService = (UserService)
applicationContext.getBean("userService");
userService.save();
DataSource dataSource = (DataSource)
applicationContext.getBean("dataSource");
Connection connection = dataSource.getConnection();
System.out.println(connection);
}