Piszę coś tam w Javie już od jakiegoś czasu, najczęściej nie mam problemu żeby zaimplementować w tym języku jakiś algorytm czy napisać program, który akurat przyjdzie mi do głowy/którego potrzebuję/którego tworzenie wyda mi się interesującego whatever. Powiedzmy, że podstawy mam. I tak samo od dłuższego czasu próbuje zabrać się za Springa z tym, że zupełnie nie mogę zrozumieć jego idei. Piszę te swoje programiki w czystej Javie i nigdy nie przyszło mi do głowy, że czegoś mi w niej brakuje (chociaż to pewnie dlatego, że nie wypłynąłem na głęboką wodę, nie pracowałem przy większych kobyłach komercyjnych). Postanowiłem dziś (po raz kolejny) podjąć współpracę z tym frameworkiem poprzez przeniesienie programu konwertującego obraz kolorowy do obrazu czarno białego z czystej Javy do Springa. Efekt poniżej (projekt bardzo prosty, ale mi zawsze najtrudniej ruszyć, później już górki) i tu w sumie 2 pytania:
Czy póki co spoko ?
Gdzie najlepiej umieścić metodę konwertującą obraz kolorowy do obrazu czarno białego ? Bo na razie tylko otwiera obraz. (W sensie tworzyć nową klasę i władować do jakiegoś pakietu ? Na upartego to wrzuciłbym ją do klasy domenowej i też by grało, ale rozumiem,że to nie po Springowemu dlatego pytam tutaj.)
package info.mike.spring;
public class MainSpring {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("config.xml");
Open open = context.getBean("OpenBean", Open.class);
Obraz obraz = open.openImage("./File.jpg");
}
}
package info.mike.spring.api;
public interface Open {
public Obraz openImage(String path);
}
package info.mike.spring.domain;
public class Obraz {
private BufferedImage bi;
public BufferedImage getBi() {
return bi;
}
public void setBi(BufferedImage bi) {
this.bi = bi;
}
public Obraz(BufferedImage bi) {
this.bi = bi;
}
}
package info.mike.spring.impl;
public class OpenImpl implements Open{
public Obraz openImage(String path) {
BufferedImage bi = null;
try {
bi = ImageIO.read(new File(path));
System.out.println("Otwarto obraz " + path);
} catch (IOException exc) {
System.out.println(exc);
}
return new Obraz(bi);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id = "OpenBean" class = "info.mike.spring.impl.OpenImpl" />
</beans>