-
@Component三个衍生注解
-
Spring提供@Component 注解的三个衍生注解
@Controller :用于表现层bean定义
@Service :用于业务层bean定义
@Repository:用于数据层bean定义
-
纯注解开发模式
-
Spring3.0开启了纯注解开发模式,使用Java类替代配置文件,开启了 Spring快速开发赛道
-
Java类代替Spring核心配置文件
-
文件名称
-
SpringConfig
-
文件内容
-
@Configuration //@ComponentScan 扫描在该路径下类中的注解,才能获取到bine @ComponentScan("cn.zqwl") //@PropertySource 该注解用于加载配置文件 @PropertySource({"classpath:jdbc.properties"}) //@Import 该注解用于导入加载其他配置类(类) @Import({JdbcConfig.class,MybatisConfig.class}) public class SpringConfig { }
-
Java类配置DataSource数据源
-
放置在resources文件夹下的配置文件
-
文件名称
-
jdbc.properties
-
文件内容
-
jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/db3?useSSL=false jdbc.username=root jdbc.password=123456
-
java文件
-
package cn.zqwl.config; import com.alibaba.druid.pool.DruidDataSource; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import javax.sql.DataSource; 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; @Bean public DataSource datasource(){ DruidDataSource ds = new DruidDataSource(); ds.setDriverClassName(driver);//加载驱动 ds.setUrl(url); ds.setUsername(username); ds.setPassword(password); return ds; } }
-
java类整合mybatis
-
文件名
-
MybatisConfig
-
文件内容
-
package cn.zqwl.config; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.mapper.MapperScannerConfigurer; import org.springframework.context.annotation.Bean; import javax.sql.DataSource; public class MybatisConfig { //SqlSessionFactoryBean封装SqlSessionFactory需要的环境信息 @Bean public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource){ SqlSessionFactoryBean ssf = new SqlSessionFactoryBean(); ssf.setTypeAliasesPackage("cn.zqwl.pojo"); ssf.setDataSource(dataSource); return ssf; } @Bean public MapperScannerConfigurer mapperScannerConfigurer(){ MapperScannerConfigurer msc = new MapperScannerConfigurer(); msc.setBasePackage("cn.zqwl.mapper");//加载映射不过这里采用了代理模式 return msc; } }