<Spring>@Configuration @Import使用方式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了<Spring>@Configuration @Import使用方式相关的知识,希望对你有一定的参考价值。
参考技术A Spring Bean ContainerSpring在古老版本会用xml实现bean的注册,在新版本也可以使用@Service、@Repository、@Controller等基于@Component的注解注入bean。除此之外,3.x、4.x的Spring Framework支持以类的方式结合@Configuration @Bean注解注入bean,也慢慢成为一种趋势,相比xml而言类更好维护、分类和管理阅读。
下面看看具体使用:
@Configuration @Bean
如上图,打上@Configuration的类就成为了"配置类"的概念,每一个bean都会打上@Bean注解进行注入。
@Bean注解可以起别名,如果没有指定具体名称,便会取@Bean注解修饰的方法名,如图中的"serviceExecutor"。
@Import
import注解也是为了配置而存在的
如上图,个人认为主要流行的有以上两种用法,第一种是在注解上去import资源,和@Configuration区别不大。第二种是用import管理所有的@Configuration配置类,保证@Configuration本身是按照功能、业务、职责独立划分的。所以第二种用法Import参数可以填一组@Configuration修饰的Class对象。
MyBatis 基础
1.在src下创建一个myBatis.xml文件(名字随意)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- default:指默认使用id为defaultr的 environment配置 一个environments下可以有多个environment--> <environments default="default"> <environment id="default"> <!-- 使用原生jdbc事务 --> <transactionManager type="JDBC"></transactionManager> <!-- 使用数据库连接池 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/ssm"/> <property name="username" value="root"/> <property name="password" value="admin"/> </dataSource> </environment> </environments> <!-- 读取mapper --> <mappers> <mapper resource="com/strong/mapper/FlowerMapper.xml"/> </mappers> </configuration>
2.新建一个包com.strong.mapper,在包下创建FlowerMapper.xml文件(类名.mapper.xml)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- namespace:命名,可以随意取 --> <mapper namespace="com.strong.mapper"> <!-- resultType:实体类,要写类命名 id:命名 --> <select resultType="com.strong.pojo.Flower" id="selectAll"> select * from flower </select> </mapper>
3.测试MyBatis
public class Test { public static void main(String[] args) throws IOException { //读取XML文件 InputStream is=Resources.getResourceAsStream("myBatis.xml"); //创建SqlSessionFactory工厂 SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is); //生产一个SqlSession对象 SqlSession session=factory.openSession(); //读取数据库 List<Flower> list=session.selectList("com.strong.mapper.selectAll"); for(Flower flower:list) { System.out.println(flower); } } }
三种常查询方式:
1.
返回一个List对象,适用于查询需要遍历的结果
List<Flower> list=session.selectList("com.strong.mapper.selectAll"); for(Flower flower:list) { System.out.println(flower); }
<select resultType="com.strong.pojo.Flower" id="selectAll"> select * from flower </select>
2.
返回一个Object对象,适用于查询一条数据
int count=session.selectOne("com.strong.mapper.selectOne"); System.out.println(count);
<select resultType="int" id="selectOne"> select count(*) from flower </select>
3.
返回一个map,适用于需要对查询结果再次筛选(通讯录)
Map<Object,Object> map=session.selectMap("com.strong.mapper.selectMap", "name");//name为map的key
System.out.println(map);
<select resultType="com.strong.pojo.Flower" id="selectMap"> select * from flower </select>
以上是关于<Spring>@Configuration @Import使用方式的主要内容,如果未能解决你的问题,请参考以下文章